【问题标题】:Source Code has invalid characters �源代码包含无效字符 �
【发布时间】:2013-12-18 22:11:56
【问题描述】:

下面是一些假设只返回页面源代码的代码。但是,此页面的源代码不断返回,带有网页和无效字符(数百个...)。我尝试了各种标题描述,但没有一个能解决问题。 '

string url2 = "http://mcassessor.maricopa.gov/?s=176-09-419"
HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(url2);

request2.CookieContainer = cookieJar;
request2.Method = "GET";
request2.Accept = "text/html, application/xhtml+xml, */*";
request2.Headers.Add("Accept-Language: en-US,en;q=0.5");
request2.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAM3; rv:11.0) like Gecko";
request2.Headers.Add("Accept-Encoding: gzip, deflate");
request2.Headers.Add("X-UA-Compatible: IE=edge,chrome=1");

using (HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse())
{
        string sourceCode2 = new StreamReader(request2.GetResponse().GetResponseStream()).ReadToEnd();
}

【问题讨论】:

  • 有什么原因你调用 GetResponse() 两次?

标签: c# httpwebrequest invalid-characters


【解决方案1】:

这是因为它是 gzipped 回来的.. 你告诉它在这里 gzipped:

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

您可以删除它.. 或者告诉请求解压缩它:

request2.AutomaticDecompression = DecompressionMethods.GZip;

【讨论】:

  • 也不要忽略 response2.CharacterSet,StreamReader 需要使用正确的编码器。
猜你喜欢
  • 2020-02-26
  • 2017-11-16
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 2020-02-27
  • 1970-01-01
相关资源
最近更新 更多