zoukankan      html  css  js  c++  java
  • 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());
    	}
    }

  • 相关阅读:
    什么是守护线程?
    如何优雅地停止一个线程?
    如何创建、启动 Java 线程?
    什么是线程?什么是进程?为什么要有线程?有什么关系与区别?
    并行是什么意思?与并发的区别是什么?
    并发编程的缺点?
    BZOJ_3058_四叶草魔杖_kruscal+状压DP
    BZOJ_3476_[Usaco2014 Mar]The Lazy Cow_扫描线+切比雪夫距离
    BZOJ_1511_[POI2006]OKR-Periods of Words_KMP
    BZOJ_3479_[Usaco2014 Mar]Watering the Fields_Prim
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234104.html
Copyright © 2011-2022 走看看