您的位置:首页 > 理论基础 > 计算机网络

将WebBrowser的cookie信息传给HttpWebRequest.

2008-12-11 13:59 288 查看
先建一个"CookieContainer" 把WebBrowser中的Cookie保存在里面

//在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中

CookieContainer myCookieContainer = new CookieContainer();

//String 的Cookie 要转成 Cookie型的 并放入CookieContainer中

string cookieStr = webBrowser1.Document.Cookie;

string[] cookstr = cookieStr.Split(';');

foreach (string str in cookstr)

{

string[] cookieNameValue = str.Split('=');

Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());

ck.Domain = "www.abc.com";//必须写对

myCookieContainer.Add(ck);

}

HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.abc.com/search.asp");

hreq.Method = "POST";

hreq.ContentType = "application/x-www-form-urlencoded";

//自己创建的CookieContainer

hreq.CookieContainer = myCookieContainer;

string postdata = "id=2005&action=search&name=";

byte[] byte1 = Encoding.ASCII.GetBytes(postdata);

hreq.ContentLength = byte1.Length;

Stream poststream = hreq.GetRequestStream();

poststream.Write(byte1, 0, byte1.Length);

poststream.Close();

HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: