C#使用HttpClient进行http操作
简介
在.Net 4.5中增加了一个新的System.Net.Http.HttpClient名字空间(在 System.Net.Http.dll 中)。其中 提供了用于发送 HTTP 请求和接收 HTTP 响应的API。
基本操作
和以前的HttpWebRequest相比,HttpClient更加简洁,下面就是一个下载www.baidu.com页面的示例:
string uri = "http://www.baidu.com/";HttpClient client = new HttpClient();string body = await client.GetStringAsync(uri);
除GetStringAsync()
之外,还有GetByteArrayAsync()、GetStreamAsync()、PostAsync ()、DeleteAsync()
等函数,可用选择使用。
一个重要的特点就是: 所有的函数操作都是异步的。
获取响应
最简单的函数是HttpClient.GetStringAsync()
, 用这个函数的时候,调用操作并不会阻塞,我们看不到HttpResponse的相关信息,如果需要看到Http响应的信息,可以用如下标准方式:
Product product = null;HttpResponseMessage response = await client.GetAsync(path);if (response.IsSuccessStatusCode){product = await response.Content.ReadAsAsync<Product>();}return productt;
这里使用HttpResponseMessage
.
C#使用HttpClient进行http操作相关推荐
- HttpClient, 使用C#操作Web
我们知道, .Net类库里提供了HttpWebRequest等类,方便我们编程与Web服务器进行交互. 但是实际使用中我们经常会遇到以下需求,基础类里没有直接提供相应的功能(WebClient类包含这 ...
- 5.QT中关于HTTPClient相关的操作,Json数据传输
新建项目T12HttpClient T12HttpClient.pro SOURCES += \ main.cpp QT += network CONFIG += C++11 main.cpp ...
- 用了这么久,你真的真的明白 HttpClient 的实现原理了吗?
作者:kingszelda cnblogs.com/kingszelda/p/9029735.html 一.背景 HTTP是一个传输内容有可读性的公开协议,客户端与服务器端的数据完全通过明文传输.在这 ...
- 学习HttpClient,从两个小例子开始
前言 HTTP(Hyper-Text Transfer Protocol,超文本传输协议)在如今的互联网也许是最重要的协议,我们每天做的很多事情都与之有关,比如,网上购物.刷博客.看新闻等.偶尔你的上 ...
- Web API WinForm使用HttpClient呼叫Web API
Web API WinForm使用HttpClient呼叫Web API 前言 之前几篇文章已经介绍了 Web 与 Web API 的使用方式,接下来将介绍如何在 Windows Form 呼叫 We ...
- 基于 OpenFire 的TVBox管理平台开发笔记
目录 一.開發環境設置.... 3 1.1 JDK 安裝.... 3 1.2 MySql Server安裝.... 4 1.3 OpenFire安裝.... 6 1.4 Openfire Admin ...
- asp.net core 使用HttpClientFactory Polly实现熔断降级
前言 在NET Core2.1后也是增加更新了很多东西,当然HttpClientFactory更新中的一部分.虽然说HttpClient这个实现了disposable,但使用它的时候用using包装块 ...
- WebAssembly和Blazor:解决了一个存在十年的老问题
本文要点 WebAssembly 是一种新的客户端技术,可以在所有现代浏览器(包括移动浏览器)中实现近乎原生的性能,而且不需要插件. 许多语言,包括 C.C#.Go 和 Rust,都可以编译成面向基于 ...
- Retrofit的简单使用
Retrofit是REST安卓客户端请求库.使用Retrofit可以进行GET,POST,PUT,DELETE等请求方式. 官方文档:http://square.github.io/retrofit/ ...
最新文章
- 【MySQL】面试官:如何查询和删除MySQL中重复的记录?
- myeclipse 修改模板
- VC++控制台程序中使用定时器
- Serverless 实战——使用 Rendertron 搭建 Headless Chrome 渲染解决方案
- redis高级进阶(2)
- 让CentOS支持ext4文件系统
- teamviewer Android 8,利用TeamViewer控制设备
- Transformer t5代码relative_position计算
- vs打包生成的文件有:setup.msi,setup.exe 二者区别
- Auto.js 简单悬浮开关
- 中国各省的省会间距离(含港澳台)
- 国家发布世界级城市群规划上海“全球城市”
- 云上在野容器攻防战:“杀”不掉的挖矿木马
- Chem 3D软件可以改变背景吗
- python ConfigParser 区分大小写
- windows VXN(梯子)应用,域名等分流开发笔记
- 汽车常识全面介绍 - 引擎详论
- 360安全卫士、360杀毒与火绒
- 生活痛点与不怕犯错--用精益思想塑造创新型组织
- 史上最文艺自虐手游诞生-痛并快乐着
热门文章
- 看完这些福利才知道,为什么说双12一定要出去浪
- 中间件技术及双十一实践·服务框架篇
- BZOJ 2115 Wc2011 Xor DFS+高斯消元
- 如何在vue-router的beforeEach钩子里做页面访问权限验证
- Shell 命令大全Xhell入门
- centos 7.6安装java_安装 QRadar Community Edition
- python画五角星代码_008-python绘制五个五角星
- 使用XFire+Spring构建Web Service(二)
- activiti如何最后一次提交事务_2020最后一次水逆,十二星座如何防水逆?
- javascript html dom,javascript 操作 HTML DOM