Here the content transmission is encoded in UTF-8
1, with no parameter sending request Post
/// <Summary> /// specified Post addresses obtain all the way Get string /// </ Summary> /// <param name = "URL"> request address Background </ param> /// <Returns> </ Returns> public static String Post ( String URL) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
2, Post request with parameters, specified key-value pairs
/// <Summary> /// specified Post addresses obtain all the way Get string /// </ Summary> /// <param name = "URL"> request address Background </ param> /// <Returns> </ Returns> public static String Post ( String URL, the Dictionary < String , String > DIC) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; #region 添加Post 参数 StringBuilder builder = new StringBuilder(); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream Stream = resp.GetResponseStream (); // get the response content the using (the StreamReader Reader = new new the StreamReader (Stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
3, Post request with parameters specifying character string contents transmission
/// <Summary> /// specified Post addresses obtain all the way Get string /// </ Summary> /// <param name = "URL"> request address Background </ param> /// <param name = "content"> Post submit data content (utf-8 encoded) </ param> /// <Returns> </ Returns> public static String Post ( String URL, String content) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; #region add Post parameter byte [] = Data Encoding.UTF8.GetBytes (Content); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream Stream = resp.GetResponseStream (); // get the response content the using (the StreamReader Reader = new new the StreamReader (Stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
Reprinted method:
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://fanyi.baidu.com/transcontent"); Encoding encoding = Encoding.UTF8; string param = "ie=utf-8&source=txt&query=hello&t=1327829764203&token=8a7dcbacb3ed72cad9f3fb079809a127&from=auto&to=auto"; //encoding.GetBytes(postData); byte[] bs = Encoding.ASCII.GetBytes(param); string responseData = String.Empty; req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = bs.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(bs, 0, bs.Length); reqStream.Close(); } using (HttpWebResponse response = (HttpWebResponse)req.GetResponse()) { using (StreamReader reader = new StreamReader(response.GetResponseStream(),encoding)) { responseData = reader.ReadToEnd().ToString(); } context.Response.Write(responseData); }