zoukankan      html  css  js  c++  java
  • 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);
    }
    }

  • 相关阅读:
    Python深入02 上下文管理器
    Python深入01 特殊方法与多范式
    Python进阶09 动态类型
    Python进阶08 异常处理
    Python进阶07 函数对象
    Python进阶06 循环对象
    Python进阶05 循环设计
    Python进阶04 函数的参数对应
    Python进阶03 模块
    Python进阶02 文本文件的输入输出
  • 原文地址:https://www.cnblogs.com/sanler/p/7263331.html
Copyright © 2011-2022 走看看