【问题标题】:c# , Http request return unkown charsc#,Http请求返回未知字符
【发布时间】:2015-10-31 13:18:37
【问题描述】:

我有这个代码


internal static SourceCookieSTatue LoadSource(string p)
{

    SourceCookieSTatue __Result__ = new SourceCookieSTatue();
    try
    {
        var Request = (HttpWebRequest)WebRequest.Create(p.Trim());
        Request.UserAgent = MrHTTP.Chrome_UserAgent;
        Request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        Request.Headers.Add("Accept-Language", "en-US,en;q=0.5");
        Request.Headers.Add("Accept-Encoding", "gzip, deflate");
        var response = (HttpWebResponse)Request.GetResponse();
        string x = new StreamReader(response.GetResponseStream()).ReadToEnd();
        string CokString = MrHTTP.GetCookieString(response.Headers);
        return new SourceCookieSTatue(x, CokString);
    }
    catch (Exception sa) { return new SourceCookieSTatue(sa.Message,false);   

}

当我发送 http 请求时,它会返回像这样的字符

......;哟#Gz...... ������{����4㞋??8zp���a�M��0n�F{�����tb?��2��q i3΃�a,}��Y85��K�+&'�m��mnk{k�r����ѸLw{{;�

当我使用 BURP-SUite 拦截请求时,它可以正常工作。

【问题讨论】:

  • 尝试删除接受编码

标签: c# .net http request httprequest


【解决方案1】:

问题出在下面一行:

            Request.Headers.Add("Accept-Encoding", "gzip, deflate");

您正在请求标头中添加压缩参数。您可以删除压缩参数,也可以通过添加以下行来定义解压缩请求的默认行为:

            Request.AutomaticDecompression = DecompressionMethods.GZip;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-19
    • 2023-04-09
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2022-11-30
    相关资源
    最近更新 更多