首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebClient编码

WebClient编码
EN

Stack Overflow用户
提问于 2015-10-03 11:00:39
回答 1查看 3.7K关注 0票数 2

当我用Webclient发送请求时,请求字符串被转换为?

我设置了编码,但它不起作用。

这是我的守则:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2016-12-18 14:01:02

尝试使用这段代码,我希望是有用的。

代码语言:javascript
复制
    using (var client = new WebClient())
        {
            client.Encoding = Encoding.UTF8;
            ....

        }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32921773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档