本文檔為獲取到代理IP后使用代理的代碼樣例,供開發(fā)者參考。
代碼樣例直接運行無法得到正確的結(jié)果,因為代碼中的代理地址/端口和應用賬號密碼等信息都是虛構(gòu)的,您替換成自己真實的就可以正常運行了。
如何獲取代理地址/端口和設(shè)置代理授權(quán)?
使用前提:
1、 已經(jīng)獲取代理地址 ,去獲?。?a target="_blank">www.xiaoshitouip.com。
2、 已經(jīng)設(shè)置代理授權(quán)(用戶名/密碼或者IP白名單)。
using System;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace ProxySample {
internal class Program {
public static async Task Run() {
// 從 https://www.xiaoshitouip.com/ 領(lǐng)取后,替換下面的ip和端口
var proxy = new WebProxy("代理IP", 代理端口); //這里替換為你的代理地址和端口
// 替換為自己的用戶名
// 到管理后臺:https://admin.xiaoshitouip.com/proxy/proxy-auth 授權(quán)管理頁面添加賬號密碼或者ip白名單
// 設(shè)置了ip白名單就不需要設(shè)置賬號密碼了
//這里替換成你的驗證用戶名和密碼
//proxy.Credentials = new NetworkCredential(userName: "賬號", password: "密碼");
//HttpWebRequest用法
var req = HttpWebRequest.Create("https://baidu.com");
req.Proxy = proxy;
req.Method = "GET";
var response = req.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = null;
sr = new StreamReader(stream, Encoding.Default);
var html = sr.ReadToEnd();
sr.Close();
sr.Dispose();
Console.WriteLine(html);
//HttpClient用法
var httpClientHandler = new HttpClientHandler {
Proxy = proxy,
};
HttpClient client = new HttpClient(httpClientHandler);
var ret = await client.GetStringAsync("https://baidu.com");
Console.WriteLine(ret);
}
public static void Main(string[] args) {
Task.Run(async () => { await Program.Run(); }).Wait();
}
}
}