郁闷,继续散分问问题

cysoft 2004-09-07 03:17:07
事情是这样的
我用c#使用get方法提交了一些数据到http服务器
可是服务器端收到的中文数据都是乱码,然后我用nc看ie和我的程序提交的数据,的确不一样
这是ie提交的
C:\>nc -l -p 80
GET /iface/Send.jsp?cid=801&mid=13909181595&con=哈哈&usr=test8&pwd=test8 HTTP/1.
1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-
excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwav
e-flash, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon; SV1; .NE
T CLR 1.1.4322)
Host: 127.0.0.1
Connection: Keep-Alive
这是我的程序提交的
C:\>nc -l -p 80
GET /iface/Send.jsp?cid=801&mid=13909181595&con=%E6%B5%8B%E8%AF%95&usr=test8&pwd
=test8 HTTP/1.1
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: 127.0.0.1



看看
ie提交的
con=哈哈
是正确的
我提交的
con=%E6%B5%8B%E8%AF%95
就不对了
程序如下
string URL1="http://127.0.0.1/iface/Send.jsp?cid=801&mid="+mID+"&con="+ (textBox2.Text)+"&usr=test8&pwd=test8";
try
{


WebRequest wrqst=WebRequest.Create(URL1);
wrqst.Headers.Add("Accept-Language","en-us");
wrqst.Headers.Add("Accept-Encoding","gzip, deflate");

//wrqst.Method="GET";
WebResponse WResp = wrqst.GetResponse();
// get the stream of data
StreamReader sr = new StreamReader(WResp.GetResponseStream(), Encoding.ASCII);
string strTemp = "";
while ((strTemp = sr.ReadLine()) != null)
{
strSource.Append(strTemp + "\r\n");
}
sr.Close();

}
catch(System.Exception ex)
{
MessageBox.Show(ex.Message);
}
MessageBox.Show(strSource.ToString());

提交上去的汉字就是乱的!


...全文
201 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueLevin 2004-09-09
  • 打赏
  • 举报
回复
接分
happycat82 2004-09-09
  • 打赏
  • 举报
回复
接分
cysoft 2004-09-09
  • 打赏
  • 举报
回复
我的问题没有解决,我用的是winfrm去get一个地址,在ws里可以用urlencode去对中文编码,事实证明是没问题的
但是在winfrm里面没有这个方法
如果实在没有人知道我就结贴了
大家接分吧
nm3000 2004-09-08
  • 打赏
  • 举报
回复
up
yichuan1982 2004-09-07
  • 打赏
  • 举报
回复
up
aicode 2004-09-07
  • 打赏
  • 举报
回复
使用utf-8就没事了.我原来做时也是这样.用了utf-8就没事了..
cysoft 2004-09-07
  • 打赏
  • 举报
回复
我觉得是URLEncode的问题
我记得在asp.net里面有相关的方法
但是在winfrm里有没有就要请教大家了
WilliamFire 2004-09-07
  • 打赏
  • 举报
回复
如果目标服务器不是XP或2003系统,一般情况下,不用gb2312为妙。
WilliamFire 2004-09-07
  • 打赏
  • 举报
回复
你可以可以试着使用utf-8或unicode编码。
cysoft 2004-09-07
  • 打赏
  • 举报
回复
不对啊
还是乱码
GET /iface/Send.jsp?cid=801&mid=13909181595&con=%E6%B5%8B%E8%AF%95&usr=test8&pwd
=test8
我要的是
ET /iface/Send.jsp?cid=801&mid=13909181595&con=哈哈&usr=test8&pwd=test8

Encoding encoding =Encoding.GetEncoding("gb2312");
byte [] b=encoding.GetBytes(textBox2.Text);
string CON=encoding.GetString(b);
cysoft 2004-09-07
  • 打赏
  • 举报
回复
我的问题是我的url里面的中文的问题
libiyang 2004-09-07
  • 打赏
  • 举报
回复
学习
up
eTopFancy 2004-09-07
  • 打赏
  • 举报
回复
编码问题,并跟着学习
lemoha 2004-09-07
  • 打赏
  • 举报
回复
孟子E章--真高人!
zdmaster 2004-09-07
  • 打赏
  • 举报
回复
up
lovely_swallow 2004-09-07
  • 打赏
  • 举报
回复
up~~支持孟老大!!!!!!!!!!!!!!!!!!
happyjun2000 2004-09-07
  • 打赏
  • 举报
回复
帮顶,同时支持孟老大!
xiaomaoy 2004-09-07
  • 打赏
  • 举报
回复
严重同意net_lover(孟子E章) ......
孟子E章 2004-09-07
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/ShowDetail.aspx?id=ATV1GLXT-65FF-4M82-CT5U-B1J65D3ZN2OK
孟子E章 2004-09-07
  • 打赏
  • 举报
回复
StreamReader sr = new StreamReader(WResp.GetResponseStream(), Encoding.GetEncoding("GB2312"));
加载更多回复(9)

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧