鉴客 C# 抓取页面(带认证)
1. [代码][C#]代码
01 |
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create( "" ); |
02 |
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)" ; |
03 |
req.Method = "POST" ; |
04 |
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ; |
05 |
req.Headers.Add( "Accept-Language: en-us,en;q=0.5" ); |
06 |
req.Headers.Add( "Accept-Encoding: gzip,deflate" ); |
07 |
req.Headers.Add( "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" ); |
08 |
req.KeepAlive = true ; |
09 |
req.Headers.Add( "Keep-Alive: 300" ); |
10 |
req.Referer = "copy from url" ; |
11 |
12 |
req.ContentType = "application/x-www-form-urlencoded" ; |
13 |
14 |
String Username = copy from url; |
15 |
String PassWord = copy from url; |
16 |
17 |
StreamWriter sw = new StreamWriter(req.GetRequestStream()); |
18 |
sw.Write( string .Format( "&loginname={0}&password={1}&btnSubmit=Log In&institutioncode=H4V9KLUT45AV&version=2" , Username, PassWord)); |
19 |
sw.Close(); |
20 |
HttpWebResponse response = (HttpWebResponse)req.GetResponse(); |
21 |
22 |
StreamReader reader = new StreamReader(response.GetResponseStream()); |
23 |
string tmp = reader.ReadToEnd(); |
2. [代码]Cookie 处理 跳至 [1] [2] [全屏预览]
01 |
CookieCollection cookiesResponse = new CookieCollection(); |
02 |
03 |
if (response != null ) |
04 |
{ |
05 |
foreach ( string cookie in response.Headers[ "Set-Cookie" ].Split( ';' )) |
06 |
{ |
07 |
string name = cookie.Split( '=' )[0]; |
08 |
string value = cookie.Substring(name.Length + 1); |
09 |
cookiesResponse.Add( new Cookie(name.Trim(), value.Trim(), path, domain)); |
10 |
} |
11 |
} |