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(); }