您好,登錄后才能下訂單哦!
這篇文章主要介紹了C# Sharp中怎么集成ip代理的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C# Sharp中怎么集成ip代理文章都會有所收獲,下面我們一起來看看吧。
一、前言
公司最近新增了一個項目需要爬取航空信息數據,對方有ip屏蔽。所以我需要在C Sharp中實現ip自動切換,才能夠完成爬取任務。
二 范例
C Sharp代碼示例
// 要訪問的目標頁面
string targetUrl = "http://httpbin.org/ip";
// 代理服務器
string proxyHost = "http://t.16yun.cn";
string proxyPort = "6447";
// 代理隧道驗證信息
string proxyUser = "16IXNGXO";
string proxyPass = "366338";
// 設置代理服務器
WebProxy proxy = new WebProxy(string.Format("{0}:{1}", proxyHost, proxyPort), true);
ServicePointManager.Expect100Continue = false;
var request = WebRequest.Create(targetUrl) as HttpWebRequest;
request.AllowAutoRedirect = true;
request.KeepAlive = true;
request.Method = "GET";
request.Proxy = proxy;
//request.Proxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass);
// 設置Proxy Tunnel
// Random ran=new Random();
// int tunnel =ran.Next(1,10000);
// request.Headers.Add("Proxy-Tunnel", String.valueOf(tunnel));
//request.Timeout = 20000;
//request.ServicePoint.ConnectionLimit = 512;
//request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";
//request.Headers.Add("Cache-Control", "max-age=0");
//request.Headers.Add("DNT", "1");
//String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(proxyUser + ":" + proxyPass));
//request.Headers.Add("Proxy-Authorization", "Basic " + encoded);
using (var response = request.GetResponse() as HttpWebResponse)
using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
string htmlStr = sr.ReadToEnd();
}
這是代碼的示例,這個demo是可以直接復制使用的,所以我就直接復制了,其中代理的配置是需要聯系客服開通代理才可以獲取的信息。
三 注意事項
最低支持ip是1秒鐘請求5請求,(如果需要更大的請求量,可以選項對應的產品)。所以,當他是默認是5請求的時候,我需要對爬蟲進行限速。
關于“C# Sharp中怎么集成ip代理”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C# Sharp中怎么集成ip代理”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。