简介

在.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操作相关推荐

  1. HttpClient, 使用C#操作Web

    我们知道, .Net类库里提供了HttpWebRequest等类,方便我们编程与Web服务器进行交互. 但是实际使用中我们经常会遇到以下需求,基础类里没有直接提供相应的功能(WebClient类包含这 ...

  2. 5.QT中关于HTTPClient相关的操作,Json数据传输

     新建项目T12HttpClient T12HttpClient.pro SOURCES += \ main.cpp QT += network CONFIG += C++11 main.cpp ...

  3. 用了这么久,你真的真的明白 HttpClient 的实现原理了吗?

    作者:kingszelda cnblogs.com/kingszelda/p/9029735.html 一.背景 HTTP是一个传输内容有可读性的公开协议,客户端与服务器端的数据完全通过明文传输.在这 ...

  4. 学习HttpClient,从两个小例子开始

    前言 HTTP(Hyper-Text Transfer Protocol,超文本传输协议)在如今的互联网也许是最重要的协议,我们每天做的很多事情都与之有关,比如,网上购物.刷博客.看新闻等.偶尔你的上 ...

  5. Web API WinForm使用HttpClient呼叫Web API

    Web API WinForm使用HttpClient呼叫Web API 前言 之前几篇文章已经介绍了 Web 与 Web API 的使用方式,接下来将介绍如何在 Windows Form 呼叫 We ...

  6. 基于 OpenFire 的TVBox管理平台开发笔记

    目录 一.開發環境設置.... 3 1.1 JDK 安裝.... 3 1.2 MySql Server安裝.... 4 1.3 OpenFire安裝.... 6 1.4 Openfire Admin ...

  7. asp.net core 使用HttpClientFactory Polly实现熔断降级

    前言 在NET Core2.1后也是增加更新了很多东西,当然HttpClientFactory更新中的一部分.虽然说HttpClient这个实现了disposable,但使用它的时候用using包装块 ...

  8. WebAssembly和Blazor:解决了一个存在十年的老问题

    本文要点 WebAssembly 是一种新的客户端技术,可以在所有现代浏览器(包括移动浏览器)中实现近乎原生的性能,而且不需要插件. 许多语言,包括 C.C#.Go 和 Rust,都可以编译成面向基于 ...

  9. Retrofit的简单使用

    Retrofit是REST安卓客户端请求库.使用Retrofit可以进行GET,POST,PUT,DELETE等请求方式. 官方文档:http://square.github.io/retrofit/ ...

最新文章

  1. 【MySQL】面试官:如何查询和删除MySQL中重复的记录?
  2. myeclipse 修改模板
  3. VC++控制台程序中使用定时器
  4. Serverless 实战——使用 Rendertron 搭建 Headless Chrome 渲染解决方案
  5. redis高级进阶(2)
  6. 让CentOS支持ext4文件系统
  7. teamviewer Android 8,利用TeamViewer控制设备
  8. Transformer t5代码relative_position计算
  9. vs打包生成的文件有:setup.msi,setup.exe 二者区别
  10. Auto.js 简单悬浮开关
  11. 中国各省的省会间距离(含港澳台)
  12. 国家发布世界级城市群规划上海“全球城市”
  13. 云上在野容器攻防战:“杀”不掉的挖矿木马
  14. Chem 3D软件可以改变背景吗
  15. python ConfigParser 区分大小写
  16. windows VXN(梯子)应用,域名等分流开发笔记
  17. 汽车常识全面介绍 - 引擎详论
  18. 360安全卫士、360杀毒与火绒
  19. 生活痛点与不怕犯错--用精益思想塑造创新型组织
  20. 史上最文艺自虐手游诞生-痛并快乐着

热门文章

  1. 看完这些福利才知道,为什么说双12一定要出去浪
  2. 中间件技术及双十一实践·服务框架篇
  3. BZOJ 2115 Wc2011 Xor DFS+高斯消元
  4. 如何在vue-router的beforeEach钩子里做页面访问权限验证
  5. Shell 命令大全Xhell入门
  6. centos 7.6安装java_安装 QRadar Community Edition
  7. python画五角星代码_008-python绘制五个五角星
  8. 使用XFire+Spring构建Web Service(二)
  9. activiti如何最后一次提交事务_2020最后一次水逆,十二星座如何防水逆?
  10. javascript html dom,javascript 操作 HTML DOM