鉴客 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 }
posted @ 2014-03-27 18:14  程序员徐坤  阅读(257)  评论(0编辑  收藏  举报