Dictionary<string, string> parameters = new Dictionary<string, string>(); //参数列表 parameters.Add("paraName", "paraValue"); string url = ""; HttpWebRequest request = null; HttpWebResponse response = null; Stream reqStream = null; request = (HttpWebRequest)WebRequest.Create(url); request.Method = "post"; //设置为post请求 request.ReadWriteTimeout = 5000; request.KeepAlive = false; request.ContentType = "application/x-www-form-urlencoded;charset=utf-8"; byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8")); //使用utf-8格式组装post参数 reqStream=request.GetRequestStream(); reqStream.Write(postData, 0, postData.Length); response = (HttpWebResponse)request.GetResponse(); //组装请求参数 private string BuildQuery(IDictionary<string, string> parameters, string encode) { StringBuilder postData = new StringBuilder(); bool hasParam = false; IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator(); while (dem.MoveNext()) { string name = dem.Current.Key; string value = dem.Current.Value; // 忽略参数名或参数值为空的参数 if (!string.IsNullOrEmpty(name)) { if (hasParam) { postData.Append("&"); } postData.Append(name); postData.Append("="); if (encode == "gb2312") { postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312"))); } else if (encode == "utf8") { postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8)); } else { postData.Append(value); } hasParam = true; } } return postData.ToString(); }
原文:https://www.cnblogs.com/yachao1120/p/10902044.html