ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【MVC__微信客服消息】发送微信客户消息 invalid openid hint 及 中文乱码

2020-04-19 09:53:12  阅读:252  来源: 互联网

标签:__ StreamWriter string Encoding 微信 request 乱码 application HttpWebRequest


在发送微信客服消息初始使用的是HttpWebRequest,

设置request.ContentType = "application/x-www-form-urlencoded";

或者是 request.ContentType = "application/json; encoding=utf-8";

都报invalid openid hint错误

后来发现 StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.ASCII);

是StreamWriter未使用Encoding.ASCII,改正后但是发送的消息还是中文乱码,这就很蛋疼了

        public static string PostWeiXin(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
            request.Method = "POST";
            //request.ContentType = "application/json; encoding=utf-8";
            request.ContentType = "application/x-www-form-urlencoded";
            Stream myRequestStream = request.GetRequestStream();
            StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.ASCII);
            myStreamWriter.Write(postDataStr);
            myStreamWriter.Close();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            //response.Cookies = cookie.GetCookies(response.ResponseUri);
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
            string retString = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close();

            return retString;
        }

鄙人才疏学浅,经过不断的肝,发现一个好用的类,使用WebClient完美解决 invalid openid hint 报错以及中文乱码问题

所有说,还是少用HttpWebRequest吧

        public static string SendMsgWechat(string url, string content)
        {
            using (WebClient webClient = new WebClient())
            {
                webClient.Encoding = Encoding.UTF8;
                webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
                string sResponse = webClient.UploadString(url, "POST", content);
                return sResponse;
            }
        }

标签:__,StreamWriter,string,Encoding,微信,request,乱码,application,HttpWebRequest
来源: https://www.cnblogs.com/kikyoqiang/p/12730301.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有