C#中POST接口formdata傳參模板的記錄
POST接口formdata傳參模板記錄
var res = ""; HttpClient _httpClient = new HttpClient(); var postContent = new MultipartFormDataContent(); string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x")); postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}"); var requestUri = "url"; var values = new[] { new KeyValuePair<string, string>("id","1") }; foreach (var keyValuePair in values) { postContent.Add(new StringContent(keyValuePair.Value), String.Format("\"{0}\"", keyValuePair.Key)); } var response = await _httpClient.PostAsync(requestUri, postContent); //瀏覽器出參返回入res if (response.IsSuccessStatusCode) { res = response.Content.ReadAsStringAsync().Result; } //處理返回JSON數據 var q = JsonConvert.DeserializeObject<MODEL>(res);
日後用到方便查看記錄一下
C#模擬formdata提交參數
public string GetFormdata(Dictionary<string, string> dic,string ticks) { string Info = ""; string Head = string.Format("----------------------------{0}", ticks); string Foot = string.Format("----------------------------{0}--", ticks); foreach (var item in dic){ Info += string.Format("{0}\r\nContent-Disposition: form-data; name=\"{1}\"\r\n\r\n{2}\r\n", Head, item.Key, item.Value); } Info += Foot; return Info; }
string Ticks = DateTime.Now.Ticks.ToString(); string Paramter = GetFormdata(dic, Ticks); string Html = ""; using (HttpHelper http = new HttpHelper()){ HttpItem item = new HttpItem(); item.URL = "http://app.farseasty.com/api/v100.smart/createSaleOrder"; item.Method = "post"; item.Header.Add("token", Token); item.ContentType = string.Format("multipart/form-data; boundary=--------------------------{0}", Ticks); item.PostEncoding = System.Text.Encoding.UTF8; item.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; Tablet PC 2.0; TCO_20150304085044)"; item.PostDataType = PostDataType.String; item.Postdata = Paramter; HttpResult result = http.GetHtml(item); Html = result.Html; }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- C#使用HttpHelper框架重啟路由器
- C# HttpClient Post參數同時上傳文件的實現
- postman模擬post請求的四種請求體
- C#調用HTTP POST請求上傳圖片的示例代碼
- Asp.Net Core 調用第三方Open API查詢物流數據的示例