首頁 > 軟體

C#中POST介面formdata傳參模板的記錄

2022-06-09 22:00:17

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}rnContent-Disposition: form-data; name="{1}"rnrn{2}rn", 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;
                        }

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com