webbrowser - cookies的获取与提交
来源:互联网 发布:迈锐宝xl和迈锐宝 知乎 编辑:程序博客网 时间:2024/05/16 05:13
1.在WebBrowser中获取Cookie
CookieContainer myCookieContainer = new 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.google.com";
myCookieContainer.Add(ck);
}
WebClient设置cookie!
WebClient wc = new WebClient();
wc.Headers.Add("Cookie", "PHPSESSID=" + cookie + ";");
// 注意,这里是Cookie,不是Set-Cookie
byte[] re = wc.UploadData(Global.RootPath + "test.php", new byte[0]);
System.Text.UTF8Encoding converter = new System.Text.UTF8Encoding();
string str = converter.GetString(re);
2. 在WebBrowser中设置Cookie
public partial class WebBrowserControl : Form
{
private String url;
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
public WebBrowserControl(String path)
{
this.url = path;
InitializeComponent();
// set cookie
InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);
// navigate
webBrowser.Navigate(url);
}
}
3.将WebBrowser的cookie信息传给HttpWebRequest
先建一个"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 - cookies的获取与提交
- c# webbrowser获取cookies
- 在WebBrowser中Cookie的获取与提交
- VB 利用 webbrowser 获取cookies
- delphi 获取webbrowser的cookies给Idhttp用
- C#在WebBrowser下获取完整的Cookies(包括含HTTPOnly属性的)
- WebBrowser自动填表与提交
- Django 设置cookies与获取cookies.
- Django 设置cookies与获取cookies.
- 获取webbrowser的useragent
- VC++设置与获取cookies
- VC++设置与获取cookies
- VC++设置与获取cookies的几种方法
- VC++设置与获取cookies的几种方法
- VC++设置与获取cookies的几种方法
- WebBrowser and Cookies
- 将 webBrowser1获取的cookies转换成cookiesconter 用post提交.
- C# WebBrowser自动填表与提交
- 5-12: 从键盘输入一个字符串,查找其最大的元素,在该元素后插入字符串“(max)”
- 单选按钮和复选按钮
- start_demon_server
- Subversion仓库的目录结构
- 4英寸触摸屏 诺基亚MeeGo手机平板曝光
- webbrowser - cookies的获取与提交
- 监听TextArea的link事件
- using_nfs
- Blackberry MDS 在 Windows下无法启动
- 打印出 本次编译时的变量及其值
- using_lftp
- Road to Architecturer
- 线性表---顺序存储实现
- UE使用技巧笔记