我用http post方法发送参数给对方,如果只是英文,结果正常;如果参数内容为中英文混合时,对方得到的结果会有乱码;
不知道都有哪些原因可能导致这种情况,该怎么解决?我的post过程如下:其中post参数值进行base64加密,对方收到后再用base64解密,解密的结果如我上面所说,不知道哪个环节可能有问题,我用的是c#,对方用的的java.参数串类似这样子:
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("GB2312");
//Encode
sCompany = System.Convert.ToBase64String(enc.GetBytes(COMPANY));
postData += "company=" + sCompany;
sOperation = System.Convert.ToBase64String(enc.GetBytes(OPERATION));
postData += "&operation=" + sOperation;
protected string HttpPost(string url,string postData)
{
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("GB2312");
byte[] data = enc.GetBytes(postData); // Prepare web request...
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream(); // Send the data.
newStream.Write(data,0,data.Length);
newStream.Close(); HttpWebResponse res = (HttpWebResponse) myRequest.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(),enc); string sline = sr.ReadLine();
//string sHtml = sr.ReadToEnd(); sr.Close(); res.Close(); return sline;
}
不知道都有哪些原因可能导致这种情况,该怎么解决?我的post过程如下:其中post参数值进行base64加密,对方收到后再用base64解密,解密的结果如我上面所说,不知道哪个环节可能有问题,我用的是c#,对方用的的java.参数串类似这样子:
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("GB2312");
//Encode
sCompany = System.Convert.ToBase64String(enc.GetBytes(COMPANY));
postData += "company=" + sCompany;
sOperation = System.Convert.ToBase64String(enc.GetBytes(OPERATION));
postData += "&operation=" + sOperation;
protected string HttpPost(string url,string postData)
{
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("GB2312");
byte[] data = enc.GetBytes(postData); // Prepare web request...
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream=myRequest.GetRequestStream(); // Send the data.
newStream.Write(data,0,data.Length);
newStream.Close(); HttpWebResponse res = (HttpWebResponse) myRequest.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(),enc); string sline = sr.ReadLine();
//string sHtml = sr.ReadToEnd(); sr.Close(); res.Close(); return sline;
}
解决方案 »
- 亲们,求教啊
- 关于post传递数据大小
- Dategrid导出excel的时候,链接也导出来了!~~
- 求高手指点关于网站发布。。。
- asp.net制作的网页,如何实现登录保留(关闭网页后失效,一天失效,一个月失效)等功能
- 文件上传,问题:测试时在本地没有问题,将程序放在远端服务器,报错
- 访问被拒绝的问题..求救
- Response.Redirect(url)怎么实现在新窗口打开呢?
- 请问在SQL插入语句中怎么用带参数的SQL语句啊,谢谢
- 求教:传统的dll和用.net编写的dll之间有什么区别?
- 紧急求助:如何使弹出来的指定页面大小自动根据图片变化,还要有图片说明
- asp.net中的radioButtonList控件的js控制(急!)
url="description.aspx?name="+Server.UrlEncode(myname.text)
response.redirect(url)接受
name=Server.UrlDecode(Request.QueryString("name"))
<!-- 全球化 此节设置应用程序的全球化设置。 -->
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
2。Server.UrlEncode(url)