1、WebBrowser设置Cookie
1
public
partial
class
WebBrowserControl : Form
2
{ 3 private String url; 4 5 [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] 6 public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData); 7 8 public WebBrowserControl(String path) 9 {10 this.url = path;11 InitializeComponent();1213 // set cookie14 InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);1516 // navigate17 webBrowser.Navigate(url);18 }19 20}
2、将WebBrowser的cookie信息传给HttpWebRequest.
先建一个"CookieContainer" 把WebBrowser中的Cookie保存在里面
//在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中
1
CookieContainer myCookieContainer
=
new
CookieContainer();
2
3
4
//
String 的Cookie 要转成 Cookie型的 并放入CookieContainer中
5
string
cookieStr
=
webBrowser1.Document.Cookie;
6
string
[] cookstr
=
cookieStr.Split(
'
;
'
);
7
foreach
(
string
str
in
cookstr)
8
{ 9 string[] cookieNameValue = str.Split('=');10 Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());11 ck.Domain = "www.abc.com";//必须写对12 myCookieContainer.Add(ck);13 }
14
15
HttpWebRequest hreq
=
(HttpWebRequest)HttpWebRequest.Create(
"
http://www.abc.com/search.asp
"
);
16
hreq.Method
=
"
POST
"
;
17
hreq.ContentType
=
"
application/x-www-form-urlencoded
"
;
18
19
//
自己创建的CookieContainer
20
hreq.CookieContainer
=
myCookieContainer;
21
22
string
postdata
=
"
id=2005&action=search&name=
"
;
23
byte
[] byte1
=
Encoding.ASCII.GetBytes(postdata);
24
hreq.ContentLength
=
byte1.Length;
25
26
Stream poststream
=
hreq.GetRequestStream();
27
poststream.Write(byte1,
0
, byte1.Length);
28
poststream.Close();
29
30
HttpWebResponse hres
=
(HttpWebResponse)hreq.GetResponse();
转载于:https://www.cnblogs.com/yidanda/archive/2009/07/21/1527484.html
相关资源:各显卡算力对照表!