当我用Webclient发送请求时,请求字符串被转换为?
我设置了编码,但它不起作用。
这是我的守则:
using (var client = new WebClient(){ Encoding = Encoding.UTF8 })
{
client.Encoding = ASCIIEncoding.UTF8;
client.Headers[HttpRequestHeader.ContentType] = "application/octet-stream";
client.Encoding = Encoding.ASCII;
client.Headers.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");
client.Headers.Add("Content-Encoding: UTF-8");
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("admin" + ":" + "123456"));
client.Headers[HttpRequestHeader.Authorization] = string.Format("Basic {0}", credentials);
client.Headers.Add("command:12");
byte[] bret = client.UploadData("http://192.168.1.1", "POST",
System.Text.Encoding.ASCII.GetBytes("code=سلام;field2=value2"));
string sret = System.Text.Encoding.ASCII.GetString(bret);
MessageBox.Show(sret);
}使用Wireshark进行嗅探,请求字符串转换为??:
POST / HTTP/1.1 授权:基本YWRtaW46MTIzNDU2 命令: setPersons12 内容类型: application/json;charset=utf-8 东道: 192.168.1.21:8080 内容长度: 23 预期:100-继续 连接:“保持活动”代码=?;field2 2=Alive 2HTTP/1.1 200 OK 内容长度: 10 内容-类型: application/json;charset=UTF-8
发布于 2016-12-18 14:01:02
尝试使用这段代码,我希望是有用的。
using (var client = new WebClient())
{
client.Encoding = Encoding.UTF8;
....
}https://stackoverflow.com/questions/32921773
复制相似问题