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

 

posted @ 2018-11-30 11:28  海乐学习  阅读(3945)  评论(0编辑  收藏  举报