C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C# POST接口formdata传参

C#中POST接口formdata传参模板的记录

作者:沧海·

这篇文章主要介绍了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;
                        }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文