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


    /// <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());
    	}
    }

  • 相关阅读:
    Ubuntu 12.04下PostgreSQL-9.1安装与配置详解(在线安装) [转]
    network error:software caused connection abort
    MySQL数据库SQL修改数据规范
    常见的动物单词汇总
    PHP观察者模式
    PHP单例模式
    PHP工厂模式
    PHP面试准备
    Let Encrypt延期(转自虞大胆的叽叽喳喳)
    全球最昂贵的域名和国内著名的域名交易
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234104.html
Copyright © 2020-2023  润新知