c#用HttpWebRequest实现网络信息发送,出现乱码
现在要用HttpWebRequest处理以下请求,实现手机信息发送。
http://57.45.276.62:8080/Message.sv?method=sendMsg&userCode=test&userPwd=11&numbers=13090809911,13826287334&msgContent=hello&charset=gbk
代码如下:
Encoding myEncoding = Encoding.GetEncoding("UTF-8");
param =
HttpUtility.UrlEncode("method", myEncoding) + "=" + HttpUtility.UrlEncode("sendMsg", myEncoding)
+ "&" + HttpUtility.UrlEncode("userCode", myEncoding) + "=" + HttpUtility.UrlEncode(sUserName, myEncoding)//帐号
+ "&" + HttpUtility.UrlEncode("userPwd", myEncoding) + "=" + HttpUtility.UrlEncode(sPswd, myEncoding)//密码
+ "&" + HttpUtility.UrlEncode("numbers", myEncoding) + "=" + HttpUtility.UrlEncode(sNumbers, myEncoding)//号码
+ "&" + HttpUtility.UrlEncode("msgContent", myEncoding) + "=" + HttpUtility.UrlEncode(sContent, myEncoding)//内容
+ "&" + HttpUtility.UrlEncode("charset", myEncoding) + "=" + HttpUtility.UrlEncode("gbk", myEncoding);
byte[] postBytes = Encoding.UTF8.GetBytes(param);
req = (HttpWebRequest)HttpWebRequest.Create("http://57.45.276.62:8080/Message.sv");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
req.ContentLength = postBytes.Length;
try
{
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(postBytes, 0, postBytes.Length);
reqStream.Close();
}
}
catch (Exception e)
{
}
手机收到后,如果是中文字,则全是(?号)乱码。如果是英文字就正常