c# webrequest返回混合在html代码中的奇怪字符
本文关键字:字符 代码 html webrequest 返回 混合 | 更新日期: 2023-09-27 17:49:29
我有一些从google获取搜索的代码,我刚刚注意到最近检索到的html与web浏览器的响应相比包含额外的字符。我注意到谷歌似乎是强迫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浏览器的结果比较。第一个来自代码,请注意靠近末尾的
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
你的正则表达式有问题。在Unicode响应中使用非ansi字符是完全正常的。你肯定也会有。我们现在生活在统一码时代。它们一定在这里——因为它们存在于谷歌的回应中。这不是一个bug,这是一个特性。:)
WebRequest绝对没有问题。