我尝试使用WebClient
.
这是我的代码:
public string GetWebData(string url)
{
string html = string.Empty;
using (WebClient client = new WebClient())
{
Uri innUri = null;
Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out innUri);
try
{
client.Headers.Add("Accept-Language", " en-US");
client.Headers.Add("Accept-Encoding", "gzip, deflate");
client.Headers.Add("Accept", " text/html, application/xhtml+xml, */*");
client.Headers.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
using (StreamReader str = new StreamReader(client.OpenRead(innUri)))
{
html = str.ReadToEnd();
}
}
catch (WebException we)
{
throw we;
}
return html;
}
}
网址是 http://www.paginegialle.it/roma-rm/abbigliamento/alberto-aspesi-c
。
但我可以毫无问题地在 IE9 和 Firefox 和 Chrome 浏览器中导航到这个 URL。我使用 Fiddler 来解决这个问题。
我发现 URL 在之后发生了变化WebClient.Request
- 请参见下图:
实际网址:http://www.paginegialle.it/roma-rm/abbigliamento/alberto-aspesi-c.
请看区别。我删除了网址末尾的点。但它不适用于浏览器(IE9、Firefox、Chrome)。如何将实际网址更改为此网址?
请帮我。