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

  • 相关阅读:
    *****.NET程序首次加載慢問題
    *****How to access a repositoryItemButtonEdit value from a FileDlg
    抽象类与接口的区别
    C#中使用Split分隔字符串的技巧
    *****User Control Instance/DataGridView.Columns in Visual Studio Design
    LinksPersistInfo not work!
    LookUpEdit用法
    Devpress.XtraGrid.GridControl 笔记
    *****动态执行sql
    *****LookUpEdit hide columns
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234104.html
Copyright © 2011-2022 走看看