C# Http请求 POST方式 解决中文乱码的问题
实现POST网络请求方法
public static string HttpPost(string url,string postDataStr) { string strReturn; //在转换字节时指定编码格式 byte[] byteData = Encoding.UTF8.GetBytes(postDataStr); //配置Http协议头 HttpWebRequest resquest= (HttpWebRequest)WebRequest.Create(url); resquest.Method = "POST"; resquest.ContentType = "application/x-www-form-urlencoded"; resquest.ContentLength = byteData.Length; //发送数据 using (Stream resquestStream = resquest.GetRequestStream()) { resquestStream.Write(byteData, 0, byteData.Length); } //接受并解析信息 using (WebResponse response = resquest.GetResponse()) { //解决乱码:utf-8 + streamreader.readToEnd StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8")); strReturn = reader.ReadToEnd(); reader.Close(); reader.Dispose(); } return strReturn; }
调用方法
string strQuestion="介绍一下大连"; string strParam = "&Question=" + strQuestion; string strUrl = "http://127.0.0.1:5012/httpCli?action=DashScope"; HttpPost(strUrl, strParam);