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

C#发送POST请求,通过 HttpWebRequest 发送JSON格式的参数

程序员文章站 2022-03-07 23:48:25
网上很多资料博客都有描述到这个问题,我这里再写一次总结下,我的方式也许就是你需要找的方式。至于为什么不使用其他的诸如 HttpClient 之类的,是由于业务需要...

网上很多资料博客都有描述到这个问题,我这里再写一次总结下,我的方式也许就是你需要找的方式。至于为什么不使用其他的诸如 HttpClient 之类的,是由于业务需要。

下面就是一个封装的post方法

/// <summary>
        /// 指定Post地址 
        /// </summary>
        /// <param name="url">请求后台地址</param>
        /// <returns></returns>
        public static string Post(string url, Dictionary<string, object> parameters)
        {
            try
            { 
                string jsonString = JsonConvert.SerializeObject(parameters);
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

                request.Method = "POST";
                request.ContentType = "application/json"; 
                using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
                {
                    dataStream.Write(jsonString);
                    dataStream.Close();
                }
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string encoding = response.ContentEncoding;
                if (encoding == null || encoding.Length < 1)
                {
                    encoding = "UTF-8"; //默认编码  
                }
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
                var retString = reader.ReadToEnd();
                return Regex.Unescape(retString); //处理返回的字符比如unicode转为中文

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
以上就是post方式发送json格式的参数的方法,希望对你有帮助哦!
相关标签: post json