C#webrequest返回混合html代码的奇怪字符

C#webrequest返回混合html代码的奇怪字符,c#,httpwebrequest,C#,Httpwebrequest,我有一些从google获取搜索的代码,我最近注意到,与web浏览器的响应相比,检索到的html包含额外的字符。我注意到谷歌似乎在强制使用https,这可能就是问题所在。如果有人能帮我想办法,我会很感激的 URL = "http://www.google.com/search?hl=en&safe=off&q=test"; HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UR

我有一些从google获取搜索的代码,我最近注意到,与web浏览器的响应相比,检索到的html包含额外的字符。我注意到谷歌似乎在强制使用https,这可能就是问题所在。如果有人能帮我想办法,我会很感激的

        URL = "http://www.google.com/search?hl=en&safe=off&q=test";

        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
        myRequest.Proxy = null;
        myRequest.Method = "GET";
        myRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0";
        myRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        myRequest.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
        myRequest.Headers.Add("Accept-Language", "en-us,en;q=0.5");
        WebResponse myResponse = myRequest.GetResponse();
        StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
        string result = sr.ReadToEnd();
        sr.Close();
        myResponse.Close();

        TextWriter tw2 = new StreamWriter(Directory.GetCurrentDirectory() + "\\google.html");
        tw2.WriteLine(result);
        tw2.Close();
下面是代码结果与我的web浏览器结果之间的比较。第一个来自代码,请注意结尾附近的“Ž”。(另一个细微的差别不会产生任何影响,可能是由于不同的标题或其他原因。)


Ookla的Speedtest.net-全球宽带速度测试Speedtest.net–你的正则表达式有问题。在Unicode响应中使用非ANSI字符是完全正常的。你必须期望他们也会这样。我们现在生活在一个新时代。他们一定在这里,因为他们出现在谷歌的回应中。这不是一个bug,而是一个特性。:)


WebRequest绝对没有问题。

也许你应该摆弄一下你的“接受字符集”,看看用一个更简单的字符集(如utf-8)会得到什么结果。你(用你的StreamReader)假设响应是utf-8——真的是这样吗?什么是响应头?如何检查响应头?结果中没有包含它们,我基本上是从某个地方复制/粘贴了这段代码,所以我不知道它的来龙去脉。此外,它以前是UTF-8,因为某些东西发生了明显的变化,所以它并不重要。HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse();-通过这个更改,您可以获得myResponse.CharacterSet和myResponse.ContentEncoding。我不同意没有任何错误。这些额外的字符不在我对浏览器的任何请求中。而且,当你查看保存的网页时,它们是可见的,我怀疑谷歌现在有没有新的爱好在网页中添加随机字符。这里的问题是web浏览器的响应与代码之间的差异,在过去,这两种响应几乎相同。
Speedtest.net by Ookla - The Global Broadband Speed <em>Test</em></a></h3><div class="s"><div><div class="f kv" style="white-space:nowrap"><cite class="_md"><cite class="visurl">speedtest.net</cite><cite class="visurl"></cite></cite>‎<div 

Speedtest.net by Ookla - The Global Broadband Speed <em>Test</em></a></h3><div class="s"><div><div class="f kv _xu" style="white-space:nowrap"><cite class="_md">www.speed<b>test</b>.net/</cite>‎<div