2017-11-12 13 views
0

私はさまざまなWebサイトのfaviconをダウンロードして保存しようとしています。大部分の場合、次のコードが動作します。しかし、私はいくつかのURLに問題があります。例えば:HttpWebResponse - 操作がタイムアウトしました

https://www.bestbuy.com/favicon.icobestbuyhttps://www.macys.com/favicon.icomacys

私は何の問題もなく私のデフォルトのブラウザ(Firefoxの)中で、これらのURLを開くことができます。

これは私がHttpWebRequestを実行するために使用しているコードで、例外が発生する箇所です。

これは、私は例がタイムアウト(再び、ほとんどの作業罰金)をURLの理由を任意のアイデア

HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest; 
request.Timeout = 10000; 
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; 
request.Headers.Add("Upgrade-Insecure-Requests", "1"); 
request.CookieContainer = new CookieContainer(); 
request.UserAgent = "Application name here"; 
response = request.GetResponse() as HttpWebResponse; 

WebRequestクラスを行う方法です。 `

+0

を使用すると、すべてのユーザーエージェントプロパティを設定しないようにしてくださいましたか? – Clemens

+0

はい、それはすべてのヒットと私には見逃すようです - いくつかのWebサイトは、それが欲しい、他は非常に具体的です... –

答えて

0

あなたのユーザーエージェントによってブロックされています。ブラウザが送るものを送る。私はこれを使用:

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36

HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest; 
request.Timeout = 10000; 
request.AutomaticDecompression = DecompressionMethods.GZip | 
DecompressionMethods.Deflate; 
request.Headers.Add("Upgrade-Insecure-Requests", "1"); 
request.CookieContainer = new CookieContainer(); 
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36"; 
response = request.GetResponse() as HttpWebResponse; 
+0

素晴らしい - ありがとう! –