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

    转载:https://blog.csdn.net/smartsmile2012/article/details/51613596

    同步请求:

             /// <returns></returns>
             public static string DoorAllList()
             {
                 var result = "";
                 string url = "http://www.baidu.com/Api/GetDoorUserList";
                 //创建HttpClientHandler的AutomaticDecompression
                 var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
                 //创建一个httpClient;
                 using (var client = new HttpClient(handler))
                {
                     //同步请求
                     var response = client.GetAsync(url);
                     //在这里会等待response返回。
                     var ret = response.Result;
                     //最终等待返回结果
                    result = ret.Content.ReadAsStringAsync().Result;
                 }
                return result;
            }
  • 相关阅读:
    软件架构师如何工作(即架构漫谈读后感)
    寒假学习记录22
    寒假学习记录21
    寒假学习记录20
    实验四 LL(1)语法分析
    大学生熬夜情况调查结果分析
    大学生熬夜情况调查计划
    实验三 递归下降分析分析法
    实验一 根据状态转换图手工构造词法扫描器
    《软件需求工程》阅读笔记06
  • 原文地址:https://www.cnblogs.com/AndyChen2015/p/9582998.html
Copyright © 2011-2022 走看看