C#5.0异步编程 HttpClient IP代理验证原码

//访问HttpClient 代码
public async Task<string> VerifyProxy(string url, string proxy = "", string Method = "GET")
{
HttpClientHandler _hch = new HttpClientHandler()
{
Proxy = new WebProxy(proxy),
UseProxy = true
};
HttpClient _ch = new HttpClient(_hch);
try
{
sw.Start();
var response = await _HttpClient.GetAsync(url);//, cancelationTokenSource.Token
sw.Stop();
response.EnsureSuccessStatusCode();//如果为false,则异常
if (response.StatusCode == HttpStatusCode.OK)
{
return "true";
}
}
catch (Exception)
{
return "";
}
finally {
}

return "";
}

//显示代码
private void DisplayResults(int item, string result, decimal time)
{
dataGridView1.Rows[item].Cells[2].Value = string.IsNullOrWhiteSpace(result) ? "失败" : "成功";
dataGridView1.Rows[item].Cells[3].Value = time;
}

//循环访问HTTPCLIENT
private async Task PageSizesAsync()
{
HttpClientHelper http = new HttpClientHelper();
Dictionary<string, int> protList = await SetProtList();
string result = string.Empty;
foreach (var item in protList)
{
result = await http.VerifyProxy(uri, item.Key);
DisplayResults(item.Value, result, http.sw.ElapsedTicks / (decimal)Stopwatch.Frequency);
}
}

 

上一篇:C# 中HttpClient无法发送json对象


下一篇:Python3 将中文文件变成英文文件