在C 應用程式中獲取和設定IE瀏覽器Cookie

2021-07-04 08:26:58 字數 2455 閱讀 8527

最近寫程式,需要使用c#應用程式訪問一**,獲取相應的cookie,然後使用該cookie用ie瀏覽器開啟指定的頁面。

恩,好比用qq開啟瀏覽器自動登入你的qq空間。

從網上了解了下,一般都是用非託管動態鏈結庫來實現,具體如下:

宣告部分**:

using system.runtime.interopservices;

讀取函式

[dllimport("wininet.dll", charset = charset.auto, setlasterror = true)]

public static extern bool internetsetcookie(string lpszurlname, string lbszcookiename, string lpszcookiedata);

寫入函式

[dllimport("wininet.dll", charset = charset.auto, setlasterror = true)]

public static extern bool internetgetcookie(string lpszurlname, string lbszcookiename, stringbuilder lpszcookiedata, ref int lpdwsize);

檢測錯誤函式

[dllimport("kernel32.dll")]

public static extern int32 getlasterror();  

使用部分**

設定cookie

讀取cookie

需要注意的幾點:

1、stringbuilder lpszcookiedata, ref int lpdwsize 這兩個變數並非絕對如此設定, 也有設定成string和long型別的,根據需要選擇

2、設定cookie有兩種,一種是會話級的,即脫離會話cookie即清楚,一種是永續性的,程式結束也仍然存在,直到超期。

會話級的cookie很特別,因為它是儲存在記憶體中的,所以你在temporary internet files資料夾中是找不到它的,只能在你設定cookie的應用程式中讀出。而永續性cookie就可以在temporary internet files資料夾中找到。這種cookie才能進行傳遞。兩種cookie的設定程式是一樣的,唯一的區別是永續性cookie設定要在cookie值後附加上「;expires=sun,22-feb-2099 00:00:00 gmt",過期時間可以根據需要自定。

順便補充下如何在c#程式中呼叫瀏覽器,**很簡單,如下:

system.diagnostics.process.start("");//預設瀏覽器

system.diagnostics.process.start("iexplore.exe","") ;//指定瀏覽器

其實該函式可以做的事情還很多,下面是msdn說明 

該函式msdn說明

名稱  說明  

process.start ()  啟動(或重用)此 process 元件的 startinfo 屬性指定的程序資源,並將其與該元件關聯。 

由 .net compact framework 支援。 

process.start (processstartinfo)  啟動由包含程序啟動資訊(例如,要啟動的程序的檔名)的引數指定的程序資源,並將該資源與新的 process 元件關聯。 

由 .net compact framework 支援。 

process.start (string)  通過指定文件或應用程式檔案的名稱來啟動程序資源,並將資源與新的 process 元件關聯。  

process.start (string, string)  通過指定應用程式的名稱和一組命令列引數來啟動乙個程序資源,並將該資源與新的 process 元件相關聯。 

由 .net compact framework 支援。 

process.start (string, string, securestring, string)  通過指定應用程式的名稱、使用者名稱、密碼和域來啟動乙個程序資源,並將該資源與新的 process 元件關聯起來。  

process.start (string, string, string, securestring, string)  通過指定應用程式的名稱和一組命令列引數、使用者名稱、密碼和域來啟動乙個程序資源,並將該資源與新的 process 元件關聯起來。 

在C 應用程式中獲取和設定IE瀏覽器Cookie

最近寫程式,需要使用c 應用程式訪問一 獲取相應的cookie,然後使用該cookie用ie瀏覽器開啟指定的頁面。恩,好比用qq開啟瀏覽器自動登入你的qq空間。宣告部分 using system.runtime.interopservices 讀取函式 dllimport wininet.dll c...

獲取和設定 C 應用程式目錄

doctype html public wcdtd xhtml stricten httpwwwworgtrxhtmldtdxhtml strictdtd c winform,用 system.threading.thread.getdomain basedirectory 獲取當前應用程式所在目錄...

在Silverlight應用程式中操作Cookie

很多朋友來信問如何在silverlight 2中操作cookie,這裡專門寫篇文章介紹一下。為了實現在silverlight應用程式中對於cookie的操作,我們需要借助於htmlpage.document物件。在使用htmlpage.document之前,請先新增system.windows.br...