#.NET分别以GET和POST方式抓取远程页面
生活随笔
收集整理的這篇文章主要介紹了
#.NET分别以GET和POST方式抓取远程页面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
代碼 引入命名空間using?System.IO;
using?System.Net;
using?System.Text;
using?System.Text.RegularExpressions;
//以GET方式抓取遠程頁面內容
????public?string?Get_Http(string?tUrl)
????{
????????string?strResult;
????????try
????????{
????????????HttpWebRequest?hwr?=?(HttpWebRequest)HttpWebRequest.Create(tUrl);
????????????hwr.Timeout?=?19600;
????????????HttpWebResponse?hwrs?=?(HttpWebResponse)hwr.GetResponse();
????????????Stream?myStream?=?hwrs.GetResponseStream();
????????????StreamReader?sr?=?new?StreamReader(myStream,?Encoding.Default);
????????????StringBuilder?sb?=?new?StringBuilder();
????????????while?(-1?!=?sr.Peek())
????????????{
????????????????sb.Append(sr.ReadLine()?+?"\r\n");
????????????}
????????????strResult?=?sb.ToString();
????????????hwrs.Close();
????????}
????????catch?(Exception?ee)
????????{
????????????strResult?=?ee.Message;
????????}
????????return?strResult;
????}
//以POST方式抓取遠程頁面內容
//postData為參數列表
????public?string?Post_Http(string?url,?string?postData,?string?encodeType,?out?string?err)
????{
????????string?uriString?=?url;
????????byte[]?byteArray;
????????byte[]?responseArray;
????????//postData?=?"checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
????????Encoding?encoding?=?Encoding.GetEncoding(encodeType);
????????try
????????{
????????????WebClient?myWebClient?=?new?WebClient();
????????????WebHeaderCollection?myWebHeaderCollection;
????????????myWebClient.Headers.Add("Content-Type",?"application/x-www-form-urlencoded");
????????????//myWebClient.Headers.Add("Referer","http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx");??
????????????//myWebClient.Headers.Add("Accept-Language","zh-cn");??
????????????myWebHeaderCollection?=?myWebClient.Headers;
????????????byteArray?=?encoding.GetBytes(postData);
????????????responseArray?=?myWebClient.UploadData(uriString,?"POST",?byteArray);
????????????err?=?string.Empty;
????????????return?this.StrClearNoUse(encoding.GetString(responseArray));
????????}
????????catch?(Exception?ex)
????????{
????????????err?=?ex.Message;
????????????return?string.Empty;
????????}
????}
?
?
總結
以上是生活随笔為你收集整理的#.NET分别以GET和POST方式抓取远程页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL存储过程之代码块、条件控制、迭
- 下一篇: asp.net ajax控件工具集 Au