HttpWebRequest和WebBrowser的cookie HttpWebRequest和控件WebBrowser共用同一个cookie.也就是说如何将WebBrowser的cookie信息传给HttpWebRequest. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 HttpWebRequest不是可以直接获取cookie吗,为什么要把WebBrowser的cookie信息传给HttpWebRequest,有点不解哦 因为是用WebBrowser运行其中的脚本,然后再用HttpWebRequest将分析出来的东西POST上服务器 这是我以前做过的东西先建一个"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(); 发货单界面的数据同步 问一个C#比较白痴的问题。 在C#里面有没有相当于DELPHI的With...Do语句 Winform中的WebBrowser随机报错 DataHelper是否应该使用工厂模式 传值的问题 关于winform的问题,高手看看 求租:如何在web中动态生成radiobutton服务器控件? 触发小键盘事件 连接串中不能使用“http://............."吗? 接收邮件的一个算法问题 在web页面中,如何让第一个页面有固定的大小,并且没有工具条等,也不可以改变大小
先建一个"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();