2011-01-05 4 views
1

WebClient.DownloadData에서 이미지를 열 수 있지만 웹 브라우저를 통해 열 수있는 일부 URL의 경우 WebClient.DownloadData를 통해 이미지 바이트 배열을 사용할 수 없습니다.WebClient.DownloadData가 404 파일을 찾을 수 없음을 반환합니다. 이 원인은 무엇입니까?

브라우저를 통해 볼 수있는 경우 http 404 파일을 찾을 수없는 예외가 발생합니다.

WebException was unhandled. 

The remote server returned an error: (404) Not Found. 

감사합니다.

+1

당신이이 404 –

답변

2

URL이 유효하면 일부 안티 침입 메커니즘이있을 수 있습니다. 리퍼러 또는 쿠키 검사.

Fidler와 같은 것을 사용하여 웹 브라우저 요청을 검사하고 다운로드 요청이 동일한 지 확인할 수 있습니다.

+0

심지어 내가 지워 쿠키의, 그것은 작동하지 않았다 제기되는 URL의 예를 들어 줄 수 google.com 내 생각은 설정 권한이 변경 될이 필요하고, 같은에 리퍼러를 설정 IIS에서? – Sharpeye500

+0

잘 모르겠습니다. WebClient.DownloadData를 통해 액세스 할 때 이미지에 대한 크기 제한이 있습니까? 다른 짧은 크기의 이미지를 시도 할 때 길이를 읽을 수있었습니다. – Sharpeye500

+0

권한은 일반적으로 다른 HTTP 코드입니다. 403. –

0

귀하의 요청이 브라우저의 것과 동일하거나 유사해야합니다.

가장 쉬운 방법은 Fiddler를 사용하여 브라우저 및 응용 프로그램에서 요청을 실행하는 것보다 모든 프로세스의 요청을 기록하도록 설정하는 것입니다. URL, 메소드 및 헤더의 차이점을 확인하여 두 가지 요청이 무엇이 원인인지 확인하십시오. (Fiddler를 통해 추적 된 HTTP 요청을 얻기 위해 웹 요청에 로컬 프록시를 사용하도록 프로그램을 구성해야하는 경우가 많습니다.

관련 문제