日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HttpClient使用方法(包括POST文件)

發布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HttpClient使用方法(包括POST文件) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做跨系統的數據交互業務,從.Net的系統提交數據到Java的系統。

簡單的表單Get、POST都沒問題,但是有個功能是要提交普通文本和文件,試了好多都有問題,最后用HttpClient小折騰了一下就OK了。

?

①先說帶有文件的POST方法

public async void SendRequest() {HttpClient client = new HttpClient();client.MaxResponseContentBufferSize = 256000;client.DefaultRequestHeaders.Add("user-agent", "User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko");//設置請求頭string url = ConfigurationManager.AppSettings["apiUrl"];HttpResponseMessage response;MultipartFormDataContent mulContent = new MultipartFormDataContent("----WebKitFormBoundaryrXRBKlhEeCbfHIY");//創建用于可傳遞文件的容器string path = "D:\\white.png";// 讀文件流FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);HttpContent fileContent = new StreamContent(fs);//為文件流提供的HTTP容器fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");//設置媒體類型mulContent.Add(fileContent, "myFile", "white.png");//這里第二個參數是表單名,第三個是文件名。如果接收的時候用表單名來獲取文件,那第二個參數就是必要的了 mulContent.Add(new StringContent("253"), "id"); //普通的表單內容用StringContentmulContent.Add(new StringContent("english Song"), "desc"); response = await client.PostAsync(new Uri(url), mulContent); response.EnsureSuccessStatusCode(); string result = await response.Content.ReadAsStringAsync(); }

??

看一下是如何接收的

public void ProcessRequest(HttpContext context) {var file = Request.Files["myFile"];var id = Request.Form["id"];//253var text = Request.Form["desc"];//english Songif (file != null && !String.IsNullOrEmpty(text)){file.SaveAs("/newFile/" + Guid.NewGuid().ToString() + "/" + file.FileName);//FileName是white.png }Response.Flush();Response.End(); }

實在是相當簡單

?

②POST普通表單請求

只需將設置Http正文和標頭的操作替換即可

List<KeyValuePair<string, string>> pList = new List<KeyValuePair<string, string>>(); pList.Add(new KeyValuePair<string, string>("id", "253")); pList.Add(new KeyValuePair<string, string>("desc", "english Song")); HttpContent content = new FormUrlEncodedContent(pList); HttpResponseMessage response = await client.PostAsync(new Uri(url), content);

?

③GET

string url = ConfigurationManager.AppSettings["apiUrl"]; string result = await client.GetStringAsync(new Uri(url+"?id=123"));

?

轉載于:https://www.cnblogs.com/TiestoRay/p/4877978.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的HttpClient使用方法(包括POST文件)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。