を使用してhtmlファイルをダウンロードしようとしています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;
}
}
URLは http://www.paginegialle.it/roma-rm/abbigliamento/alberto-aspesi-c
.
しかし、IE9 と Firefox および Chrome ブラウザーで問題なくこの URL に移動できます。この問題を解決するために Fiddler を使用します。
その後、URL が変更されていることがわかりましたWebClient.Request
。下の画像を参照してください。
実際の URL:http://www.paginegialle.it/roma-rm/abbigliamento/alberto-aspesi-c.
違いをご覧ください。URL の末尾にあるドットを削除します。しかし、ブラウザ (IE9、Firefox、Chrome) では機能しません。実際の URL をこの URL に変更するにはどうすればよいですか?
私を助けてください。