使用WebHelper调用Asp.net WebAPI

1.WebHelper

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Collections.Specialized;
 4 using System.Linq;
 5 using System.Net;
 6 using System.Net.Http;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 
10 namespace CommonFoundation.Common
11 {
12     public class WebHelper
13     {
14         public WebHelper(string _url)
15         {
16             url = _url;
17         }
18         private string url;
19         /// <summary>
20         /// 接口调用地址
21         /// </summary>
22         public string Url
23         {
24             get { return url; }
25             set { url = value; }
26         }
27         /// <summary>
28         /// get请求
29         /// </summary>
30         /// <returns></returns>
31         public async Task<string> get()
32         {
33             var result = string.Empty;
34             using (var client = new HttpClient())
35             {
36                 result = await client.GetStringAsync(url);
37             }
38             return result;
39         }
40 
41         /// <summary>
42         /// post请求
43         /// </summary>
44         /// <param name="value">参数值</param>
45         /// <returns></returns>
46         public async Task<string> post(string value)
47         {
48             //var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
49             var result = string.Empty;
50             using (var client = new HttpClient())
51             {
52                 var values = new List<KeyValuePair<string, string>>();
53                 values.Add(new KeyValuePair<string, string>("", value));
54                 var content = new FormUrlEncodedContent(values);
55                 var response = await client.PostAsync(url, content);
56                 var responseString = await response.Content.ReadAsStringAsync();
57                 result = responseString;
58             }
59             return result;
60         }
61 
62         public string post1()
63         {
64             string result = "";
65             using (var client = new WebClient())
66             {
67                 var values = new NameValueCollection();
68                 values[""] = "shunfeng";
69 
70                 var response = client.UploadValues("http://localhost:15954/api/test", values);
71 
72                 var responseString = Encoding.Default.GetString(response);
73             }
74             return result;
75         }
76     }
77 }

2.调用

 1 private static async void test()
 2         {
 3             var url = "https://www.bjcytxkj.com/api/express";
 4             WebHelper webHelper = new WebHelper(url);
 5             var dic = new Dictionary<string, string>();
 6             dic["ShipperName"] = "SF";
 7             dic["ShipperCode"] = "502947304577";
 8             string str = JsonConvert.SerializeObject(dic);
 9             var result1 = await webHelper.get();
10             var result = await webHelper.post(str);
11             result = result.Replace("\\", "");
12             Console.WriteLine(result);
13         }