文档章节

c# 【MVC】WebApi通过HttpClient来调用Web Api接口

深圳大道
 深圳大道
发布于 2016/12/29 15:39
字数 376
阅读 74
收藏 0
/// <summary>
/// HttpClient实现Post请求(异步)
/// </summary>
static async void dooPost()
{
	string url = "http://localhost:52824/api/register";
	 //设置HttpClientHandler的AutomaticDecompression
	var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
	//创建HttpClient(注意传入HttpClientHandler)
	using (var http = new HttpClient(handler))
	{
		//使用FormUrlEncodedContent做HttpContent
		var content = new FormUrlEncodedContent(new Dictionary<string, string>()       
		{    {"Id","6"},
			 {"Name","添加zzl"},
			 {"Info", "添加动作"}//键名必须为空
		 });

		//await异步等待回应

		var response = await http.PostAsync(url, content);
		//确保HTTP成功状态值
		response.EnsureSuccessStatusCode();
		//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
		Console.WriteLine(await response.Content.ReadAsStringAsync());
	}

}
/// <summary>
/// HttpClient实现Get请求(异步)
/// </summary>
static async void dooGet()
{
	string url = "http://localhost:52824/api/register?id=1";
	//创建HttpClient(注意传入HttpClientHandler)
	var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };

	using (var http = new HttpClient(handler))
	{
		//await异步等待回应
		var response = await http.GetAsync(url);
		//确保HTTP成功状态值
		response.EnsureSuccessStatusCode();

		//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
		Console.WriteLine(await response.Content.ReadAsStringAsync());
	}
}
/// <summary>
/// HttpClient实现Put请求(异步)
/// </summary>
static async void dooPut()
{
	var userId = 1;
	string url = "http://localhost:52824/api/register?userid=" + userId;

	//设置HttpClientHandler的AutomaticDecompression
	var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
	//创建HttpClient(注意传入HttpClientHandler)
	using (var http = new HttpClient(handler))
	{
		//使用FormUrlEncodedContent做HttpContent
		var content = new FormUrlEncodedContent(new Dictionary<string, string>()       
		{
		   {"Name","修改zzl"},
		   {"Info", "Put修改动作"}//键名必须为空
		});

		//await异步等待回应

		var response = await http.PutAsync(url, content);
		//确保HTTP成功状态值
		response.EnsureSuccessStatusCode();
		//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
		Console.WriteLine(await response.Content.ReadAsStringAsync());
	}
}

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/51613596

共有 人打赏支持
深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
C#工具:利用HttpClient调用WebApi

可以利用HttpClient来进行Web Api的调用。由于WebA Api的调用本质上就是一次普通的发送请求与接收响应的过程, 所有HttpClient其实可以作为一般意义上发送HTTP请求的工具。 using System;usi...

刘元蛟
03/29
0
0
使用 xUnit 编写 ASP.NET Core WebAPI单元测试

本文使用xUnit对ASP.NET Core WebAPI做单元测试,使用HttpClient的同步和异步请求,下面详细介绍xUnit的使用过程: 一、创建示例项目 模板为我们自动创建了一个ValuesController控制器,保留...

至情相遇
04/05
0
0
一个c#的与web服务器交互的HttpClient类

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

鉴客
2011/12/16
3.1K
1
Android:HttpClient研究

HttpClient4 用法 由HttpClient3 升级到 HttpClient_4 必看 摘要:HttpClient程序包是一个实现了 HTTP 协议的客户端编程工具包,要想熟练的掌握它,必须熟悉HTTP协议。一个最简单的调用如下:...

boonya
2015/03/27
0
2
HttpClient, 使用C#操作Web

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

鉴客
2011/12/16
980
0

没有更多内容

加载失败,请刷新页面

加载更多

day11

architect刘源源
今天
6
0
论学好Linux系统的超级重要性

不知道各位在日常的工作生活中有没有接触过“rm -rf /*”这个命令,因为这个命令搞出来的事情可还不少呢!前段时间就在一个群里看到了有个小伙子,老板让他去维护一下服务器,这小伙也不太懂...

Linux就该这么学
昨天
6
0
git 使用

1,首先在github配置好信息和仓库,然后在本地进行操作 git init git config user.name 'zhangwuer' git config user.email '56789053@qq.com' 2,与远程分支建立连接 git checkout -b test......

天王盖地虎626
昨天
3
0
git checkout 命令详解

在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。 在下面的命令中,使用了一些简写,在这里说明一下: git st # git statusgit ci ...

shzwork
昨天
10
0
【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP

Nginx多级代理,获取客户端真实请求IP以及每级代理IP 如图所示,每一级nginx里的location配置里需要加上对应的配置,最后一级nginx是直接到应用,测试时为了方便,直接用echo模块去测试,打印...

薛定谔的旺
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部