2017-11-12 4 views
0

다양한 웹 사이트의 favicon을 다운로드하고 저장하려고합니다. 대다수의 경우 다음 코드가 작동합니다. 그러나 일부 URL에는 문제가 있습니다. 나는 아무 문제없이 기본 브라우저 (파이어 폭스)에서 해당 URL을 열 수 있습니다HttpWebResponse - 작업 시간이 초과되었습니다.

https://www.bestbuy.com/favicon.icobestbuy, https://www.macys.com/favicon.icomacys

예를 들면 다음과 같습니다.

이것은 HttpWebRequest을 수행하는 데 사용하는 코드이며 여기에서 예외가 발생합니다.

이 내가 WebRequest 클래스

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; 

의 예는 타임 아웃 (다시, 가장 잘 작동)를 URL에 왜 어떤 아이디어를 어떻게입니다. `

+0

당신이 모든 사용자 에이전트 속성을 설정하지 않으려나요 :이 사용? – Clemens

+0

네, 그게 모두 맞았을 것 같아요 - 어떤 웹 사이트는 그것을 원하고, 다른 사람들은 매우 구체적입니다 ... –

답변

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

great - thanks! –

관련 문제