1. 程式人生 > WINDOWS開發 >C# 代理HTTP請求

C# 代理HTTP請求

C# 代理HTTP請求

目的: 應該有不少人需要去某些網站不停爬取資料,有時會使用HTTPRequest一直請求某個網站的某個網址。有的網站比如 QQ空間,趕集網(這是我測試的網站),不停重新整理會提醒你的賬號異常,可能會查封你幾天禁止訪問該網站。我想為了網站的安全,大多大型網站都會有這樣一個措施。

但是,有些工作的確需要抓取這些特定頁面上的資料?如何做?

答案是使用代理ip訪問這些網址

在C#中怎麼使用???

直接貼一下程式碼

代理ip網上一搜一大把,這個你可以自己去這個網站上抓取,這樣就可以測試哪些ip能用,哪些ip已經不能使用了

WebProxy proxyObject = new WebProxy(str,port);//str為IP地址 port為埠號 代理類

HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("http://www.whatismyip.com.tw"); // 訪問這個網站 ,返回的就是你發出請求的代理ip 這個做代理ip測試非常方便,可以知道代理是否成功

//HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("http://www.baidu.com"); // 61.183.192.5
Req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)";


Req.Proxy = proxyObject; //設定代理
Req.Method = "GET";
HttpWebResponse Resp = (HttpWebResponse)Req.GetResponse();
string StringSub = "";
string OkStr = "";
Encoding code = Encoding.GetEncoding("UTF-8");
using (StreamReader sr = new StreamReader(Resp.GetResponseStream(),code))
{

str = sr.ReadToEnd();//獲取得到的網址html返回資料,這裡就可以使用某些解析html的dll直接使用了,比如htmlpaser

}