请教C#出现的一个问题

高耳鸡 发布于 2015/02/16 13:26
阅读 178
收藏 0

远程Get地址:

http://www.ragnaroks.org/StarGate.php?UserName=test&PassWord=test

返回的确实是json格式的字符串

{"server_status":"online","username":"test","password":"test","verifydata":"success"}

但是在C#里面用HttpWebRequest返回一个byte[],转换为String后,String的值是有问题的

byteJson = HttpRequestUtil.Get("http://www.ragnaroks.org/StarGate.php?UserName=" + this.TextBoxUserName.Text + "&PassWord=" + this.TextBoxPassWord.Password);
strJson = System.Text.Encoding.Default.GetString(byteJson);



C#里面最终显示结果为下图

左花括号变成了2个汉字,请问有可能是什么情况导致的



加载中
0
酱哥哥
酱哥哥
该评论暂时无法显示,详情咨询 QQ 群:点此入群
高耳鸡
高耳鸡
确实解决了,服务端本来是gbk的,今天改成了utf-8没有通知我,感谢回答
1
瑞新
瑞新

我使用以下代码

var request = HttpWebRequest.Create("http://www.ragnaroks.org/StarGate.php?UserName=test&PassWord=test" );
 using (var r = request.GetResponse()) {
var s = r.GetResponseStream();
StreamReader sr = new StreamReader(s);
string resultstring = sr.ReadToEnd();
 Console.WriteLine(resultstring);
}
读取的的结果是对的,你检查下 HttpRequestUtil.Get 这个方法是不是有问题。可能是编码有问题。

高耳鸡
高耳鸡
感谢回答
1
Mi丶Long
Mi丶Long
可能是编码, HttpRequestUtil.Get 方法贴出来
高耳鸡
高耳鸡
感谢回答.
1
笨蛋EGG
笨蛋EGG
编码不对吧···
高耳鸡
高耳鸡
感谢回答..
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部