将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();
//在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();
相关文章推荐
- 将WebBrowser的cookie信息传给HttpWebRequest
- 将WebBrowser的cookie信息传给HttpWebRequest
- 将WebBrowser的cookie信息传给HttpWebRequest
- 获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据
- 从WebBrowser中取得Cookie 和 HttpWebRequest设置cookie!
- C# WebBrowser HttpWebRequest Cookie 的结合运用。
- .Net中 webbrowser 和 httpwebrequest 共用 cookie
- C# : WebRequest发起Http Post请求模拟登陆并cookie处理示例
- C#网页采集数据的几种方式(WebClient、WebBrowser和HttpWebRequest/HttpWebResponse)
- c#中HttpWebRequest对应302重定向为什么取不到 cookie
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- HttpWebRequest,WebClient,WebBrowser实例及比较
- 使用HttpWebRequest访问Web服务,并传递Cookie数据
- c#2.0中的HttpWebRequest涉及到的CookieContainer有点问题
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- HttpWebRequest采集读取网站挂载Cookie的通用方法
- 修复.NET中通过HttpWebRequest 中GET 方法丢失Cookie的bug
- c#HttpWebRequest修改cookie
- HttpWebRequest中的cookieCollection和cookeContainer
- 集线程池应用、多次HttpWebRequest请求,自动切换账号等等的移动信息查询软件