|
本帖最后由 十万个为什么 于 2014-3-19 18:21 编辑
//访问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);
}
}
点保存也会发布。
忘记放程序了
|
|