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#5.0异步编程 HttpClient IP代理验证原码的更多相关文章
- C#与C++的发展历程第三 - C#5.0异步编程巅峰
系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...
- C# 5.0 异步编程
在C#5.0中,增加了一个强大的新功能--异步编程.( .NET FrameWork4.5 版本) 它以两个新型关键字出现: ·async ·await 1.Async方法有三种返回类型: asyn ...
- httpclient:Ip 代理
参考:http://blog.csdn.net/sdfiiiiii/article/details/70432060 http://blog.csdn.net/qy20115549/article/ ...
- C#5.0 异步编程 Async和Await--异步方法的规范和注意事项
要些异步方法要注意一下几点: 异步方法的返回值有三种: 1.没有任何返回值的void 2.返回一个Task任务的Task,可以获得该异步方法的执行状态 3.返回Task<T> 可以获得异步 ...
- C#5.0 异步编程 Async和Await--理解异步方法与线程之间的关系
这次来理解一下异步方法与线程之间的关系 新建一个控制台程序 代码如下 static void Main(string[] args) { Console.WriteLine("\n进入Mai ...
- C#5.0 异步编程 Async和Await--介绍
C#5.0引入async和await关键字实现方法的异步调用. 直接进入正题. async只是一个标识符,并没有实际的用途,只是用于表明某个方法是异步方法,在方法前面加上async 表示该方法为一个异 ...
- C#5.0 异步编程async/await用法
微软在发布VS2012的同时推出了C#5.0,其中包含了async和await 代码如下: class Program { private static readonly Stopwatch watc ...
- Task Class .net4.0异步编程类
文章:Task Class 地址:https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.tasks.task?view=netfra ...
- C# Socket-TCP异步编程原理详解附源码
目录 目录异步原理主要方法源码Server源码:Client源码实验效果(广播为例)参考博客 TOC 异步原理 套接字编程原理:延续文件作用思想,打开-读写-关闭的模式. C/S编程模式如下: Ø 服 ...
随机推荐
- .NET开源工作流RoadFlow-表单设计-保存与发布
表单的过程中可以随时保存,以便下次继续设计. 表单设计完成后即可点击发布按钮,发布表单,发布表单后即可在流程设计时选定该表单.
- Dubbo架构原理
1 Dubbo核心功能 Remoting:远程通讯,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式. Cluster: 服务框架,提供基于接口方法的透明远程过程调用 ...
- uwsgi特性
uwsgi 特性 官网参考 X-Sendfile仿真 即使前端 代理/webserver 不支持X-Sendfile (或者不能访问静态资源),可以使用 uwsgi 内部的 offloading 来模 ...
- 三大框架之list
前言: 在我们平常开发中难免会用到List集合来存储数据,一般都会选择ArrayList和LinkedList,以前只是大致知道ArrayList查询效率高LinkedList插入删除效率高,今天来实 ...
- ul标签在FF中默认只有padding值(即:padding-left:40px)
- 一张图看懂微软Power BI系列组件
一.Power BI简介 Power BI是微软最新的商业智能(BI)概念,它包含了一系列的组件和工具.话不多说,直接上图吧: Power BI的核心理念就是让我们用户不需要强大的技术背景,只需要掌握 ...
- Oracle10g使用$ORACLE_HOME/rdbms/admin/awrrpt.sql报错
Enter value for report_name: Using the report name awrrpt_1_591_593.htmlselect output from table(dbm ...
- python中的 if __name__ == “__main__”: 有什么用
https://stackoverflow.com/questions/419163/what-does-if-name-main-do# 问题: What does if name == " ...
- 【转载】#440 - A Class Can Implement More than One Interface
It's possible for a class to implement more than one interface. For example, a Cow class might imple ...
- (转)写的非常好的一篇HTTP协议详解
原文地址:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html#3931004(推荐看原文,因为原文文章末有更详细链接) 当今 ...