C#HttpWebRequest带cookies访问网页GET

C#访问网页的办法很多,一般使用WebClient、WebBrowser或者HttpWebRequest。前两种比较简单,后者功能更多,方便我们伪造访问痕迹。

下面是HttpWebRequest带cookies访问百度首页的方法,访问结果如下图所示:

C#HttpWebRequest带cookies访问网页

C#HttpWebRequest带cookies访问网页

从上图红线框中可以看出,带上cookies可以达到模拟登陆的效果,顺便模拟了浏览器,下面是C#代码。

/// <summary>
 /// 获取页面html
 /// </summary>
 /// <param name="uri">访问url</param>
 /// <param name="refererUri">来源url</param>
 /// <param name="encodingName">编码名称 例如:gb2312</param>
 /// <returns></returns>
 public string Get(string uri, string refererUri, string encodingName)
 {
 string html = string.Empty;
 CookieContainer cookieContainer = new CookieContainer();
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
 cookieContainer.Add(new Cookie("BAIDUID", "67017F5C6A5EE8351192F7D34E7A221E:FG=1", "", "www.baidu.com"));
 cookieContainer.Add(new Cookie("PSTM", "1523879243", "", "www.baidu.com"));
 cookieContainer.Add(new Cookie("BIDUPSID", "A29EA919049CED566C183C7ED175C6AB", "", "www.baidu.com"));
 cookieContainer.Add(new Cookie("BD_UPN", "1a314353", "", "www.baidu.com"));
 cookieContainer.Add(new Cookie("BDUSS", "1F4Wk1EUUxEWkNEZS1lUWdSNkFWOW5IbThoYXNYcktMWmhmRkE5MkxvQU9Jd0piQVFBQUFBJCQAAAAAAAAAAAEAAAD9qTIYw867wzGw19K5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6W2loOltpaY", "", "www.baidu.com"));
 request.ContentType = "text/html;charset=" + encodingName;
 request.Method = "Get";
 request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5221.400 QQBrowser/10.0.1125.400";
 request.CookieContainer = cookieContainer;

if (!string.IsNullOrEmpty(refererUri))
 request.Referer = refererUri;

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
 {
 using (Stream streamResponse = response.GetResponseStream())
 {
 using (StreamReader streamResponseReader = new StreamReader(streamResponse, Encoding.GetEncoding(encodingName)))
 {
 html = streamResponseReader.ReadToEnd();
 }
 }
 }

return html;

}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/241276.html

(0)
上一篇 2022年4月7日 00:26
下一篇 2022年4月7日 00:26

相关推荐

发表回复

登录后才能评论