网上很多资料博客都有描述到这个问题,我这里再写一次总结下,我的方式也许就是你需要找的方式。至于为什么不使用其他的诸如 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格式的参数的方法,希望对你有帮助哦!