如何将webbrowser控件的Cookie倒入CookieContainer供WebRequest使用
2014-03-19 20:54
411 查看
先建一个 "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的CookieContainer?
- VB.net使用httpWebRequest访问带cookie的网站时如何传递cookie值
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- C#如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用
- 如何在C# WinForm 程序中使用WebBrowser控件时设置COOKIE的值。
- c#第一篇 在WPF的window窗体中使用httpwebrequest实现模拟登陆网页,并在webbroser控件中显示
- 将WebBrowser的cookie信息传给HttpWebRequest
- C# WebBrowser HttpWebRequest Cookie 的结合运用。
- SharePoint 2013 如何使用TaxonomyWebTaggingControl 控件
- HttpWebRequest模拟登陆,存储Cookie以便登录请求后使用
- 将WebBrowser的cookie信息传给HttpWebRequest
- 获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据
- 如何:使用 AdRotator Web 服务器控件显示数据库中的广告
- 在Web中如何使用Windows控件?
- 如何使用 WebBrowser 控件在 Visual C# 2005 或 Visual C# .NET 中打开 Office 文档
- 如何使用 WebBrowser 控件在 Visual C# 2005 或 Visual C# .NET 中打开 Office 文档
- 如何使用WebBrowser控件执行页面的JavaScript脚本,WebBrowser执行JavaScript脚本
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- 在vb.net中使用webbrowser控件和mshtml以及流操作体会(vb.net内嵌IE,拆取 Web 页)(原创)
- 如何使用 web 浏览器控件 NewWindow2 事件 Visual C#