欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#post提交数据的两种方式实例代码

程序员文章站 2022-04-15 22:52:22
post方式提交数据的时候,我们一般可能调用的第三方接口url地址形式提交,接口提交数据可以分为json数据和form表单数据提交,这两种在接收方处理时是不同的。...

1、通过json数据格式发送,接收方可以直接获取stream,反序列化为model数据,下面给出的代码为post方法代码


        public static string PostHttpResponse(string url, IDictionary<string, string> parameters)
        {
            try
            {
                ServicePointManager.ServerCertificateValidationCallback = ValidateCertificate;
                string jsonString = JsonConvert.SerializeObject(parameters);
                var content = new StringContent(jsonString, Encoding.UTF8, "application/json"); 
                var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
                using (var httpClient = new HttpClient(handler))
                {
                    var res = httpClient.PostAsync(new Uri(url), content).Result;
                    return res.Content.ReadAsStringAsync().Result;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
2、通过form表单方式提交数据,接收方可通过form键值取到数据,下面给出的form格式发送的代码


public static string HttpPostResponseByForm(string url, IDictionary<string, string> parameters)
        {
            try
            {
                ServicePointManager.ServerCertificateValidationCallback = ValidateCertificate;
                //使用FormUrlEncodedContent做HttpContent
                var content = new FormUrlEncodedContent(parameters);
                var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
                using (var httpClient = new HttpClient(handler))
                {
                    var res = httpClient.PostAsync(new Uri(url), content).Result;
                    return res.Content.ReadAsStringAsync().Result;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


一般我们可以根据实际情况来定,开发中json方式用的比较多;有的第三方api会要求form表单方式调用等。

来源:,转载请保留出处。