HttpClient 调用WebAPI时—传参的三种方式(ASP.NET MVCCORE均适用)
生活随笔
收集整理的這篇文章主要介紹了
HttpClient 调用WebAPI时—传参的三种方式(ASP.NET MVCCORE均适用)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
代碼里有注釋:
方法一,傳json參數(shù)
方法二,傳表單參數(shù)
方法三,傳字節(jié)流
public void Post(){//方法一,傳json參數(shù)var d = new {username = " ",password = " ",grant_type = "password",appcode = " ",companyid = " ",version = "1.0",};var data = JsonConvert.SerializeObject(d);HttpContent httpContent = new StringContent(data);httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");using (HttpClient httpClient = new HttpClient()){string responseJson = httpClient.PostAsync("http://192.168.8.178:1646/token", httpContent).Result.Content.ReadAsStringAsync().Result;}//方法二,傳表單參數(shù)FormUrlEncodedContent formContent = new FormUrlEncodedContent(new Dictionary<string, string>(){{"username"," " },{"password"," " },{"grant_type","password" },{"appcode"," " },{"companyid"," " },{"version","1.0" },});using (HttpClient httpClient = new HttpClient()){httpClient.DefaultRequestHeaders.Add("User-Agent", @"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)");httpClient.DefaultRequestHeaders.Add("Accept", @"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");HttpResponseMessage response = httpClient.PostAsync("http://192.168.8.178:1646/token", formContent).Result;if (response.IsSuccessStatusCode){string result = response.Content.ReadAsStringAsync().Result;}}///方法三,傳字節(jié)流 using (HttpClient http = new HttpClient()){http.DefaultRequestHeaders.Add("User-Agent", @"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)");http.DefaultRequestHeaders.Add("Accept", @"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");HttpResponseMessage message = null;string xx = @"{ ""username"":"" "",""password"":"" "",""grant_type"":""password"",""appcode"":"" "",""companyid"":"" "",""version"":""1.0""}";using (Stream dataStream = new MemoryStream(Encoding.Unicode.GetBytes(xx) ?? new byte[0])){using (HttpContent content = new StreamContent(dataStream)){content.Headers.Add("Content-Type", "application/x-www-form-urlencoded");var task = http.PostAsync("http://192.168.8.178:1646/token", content);message = task.Result;}}if (message != null && message.StatusCode == System.Net.HttpStatusCode.OK){using (message){string result = message.Content.ReadAsStringAsync().Result;}}}}總結(jié)
以上是生活随笔為你收集整理的HttpClient 调用WebAPI时—传参的三种方式(ASP.NET MVCCORE均适用)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 表单一次性上传多个文件
- 下一篇: Python基础——PyCharm版本—