You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System; using System.Collections.Generic; using System.Net; using System.Net.Http;
namespace EasyBL { public class WebApiUtil { /// <summary>
/// HttpClient实现Post请求(异步)
/// </summary>
private static async void DooPost() { var 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>
private static async void DooGet() { var 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>
private static async void DooPut() { var userId = 1; var 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()); } } } }
|