C# 設定IE Cookie 從而實現自動開啟需要登入的頁面,比如點擊QQ面板上的qq空間,他就直接進入你的QQ空間,無需再次登入。這個其實是使用的一個api函數就搞定了,但是設定上很有技巧。
///
/// 設定cookie
///
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
///
/// 擷取cookie
///
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetGetCookie(
string url, string name, StringBuilder data, ref int dataSize);
static void Main(string[] args)
{
//擷取舊的
StringBuilder cookie = new StringBuilder(new String(‘ ‘,2048));
int datasize = cookie.Length;
bool b= InternetGetCookie(“http://community.csdn.net”, null, cookie, ref datasize);
//刪除舊的
foreach (string fileName in System.IO.Directory.GetFiles(System.Environment.GetFolderPath(Environment.SpecialFolder.Cookies)))
{
if (fileName.ToLower().IndexOf(“csdn”) > 0)
{
System.IO.File.Delete(“csdn”);
}
}
//產生新的
foreach (string c in cookie.ToString().Split(‘;’))
{
string[] item = c.Split(‘=’);
string name = item[0];
string value = item[1] + “;expires=Sun,22-Feb-2099 00:00:00 GMT”;
InternetSetCookie(“http://community.csdn.net”,name,value);
InternetSetCookie(“http://forum.csdn.net”, name, value);
InternetSetCookie(“http://webim.csdn.net”, name, value);
}
}
先通過上面的代碼設定好 cookie 資訊 ,會儲存到臨時檔案夾的,然後
來一句
System.Diagnostics.Process.Start(“IEXPLORE.EXE”, “webim.csdn.net”);// 調用ie開啟網頁
ok 會直接返回到登入成功的頁面。
本文來自: 張筱祥部落格(www.zxxblog.com) 詳細出處參考:http://www.zxxblog.com/439