asp.net调用短信接口乱码问题的解决方案(在不修改web.config的前提下)

来源:互联网 发布:爱德华王子岛大学 知乎 编辑:程序博客网 时间:2024/06/07 03:54

用过.net的站长吗,你们遇到过乱码的情况吗,我刚遇到这种情况
比如:我编写了一个调用短信接口的程序如下:

短信接口:http://www.56dxw.com
代码如下:

public string HttpInterface()
{
string url="http://jiekou.56dxw.com/sms/HttpInterface.aspx?comid=企业ID&username=用户名&userpwd=密码&handtel=手机号

&sendcontent=内容限制为70个字&sendtime=定时时间&smsnumber=所用平台"

            WebRequest wRequest = WebRequest.Create(url);
            WebResponse wResponse = wRequest.GetResponse();
            Stream stream = wResponse.GetResponseStream();
            StreamReader reader = new StreamReader(stream, System.Text.Encoding.Default);
            string r = reader.ReadToEnd();
            wResponse.Close();

     }

发出短信时,老是乱码,只有在web.config中加入<globalization requestEncoding="GB2312" responseEncoding="GB2312" /> 这句才行,但我的整站,又是uft-8形式的,怎么办,经过我测试,不在,web.config中加入<globalization requestEncoding="GB2312" responseEncoding="GB2312" />  这句也行,不过要稍做稍改哦,如下:

string message = "中华人民共和国";(这是发送内容)
message = HttpUtility.UrlEncode(message, System.Text.Encoding.GetEncoding("GB2312"));
  利用HttpUtility.UrlEncode 对发送内容进行编码,经测试,没有问题了,呵呵
需要引用名命空间:

using System.Text;
using System.IO;
using System.Net;

 

来源:

原创粉丝点击