2013-12-20 1 views
0

В моем приложении ASP.Net, я открываю запрос на URL следующим образом:404 - не найден. Но браузер может читать URL

webRequest = WebRequest.Create(url); 
response = webRequest.GetResponse(); 

Но GetResponse возвращает исключение:

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

URL-адрес делает фактически существуют. Если я скопирую url и введите его в свой браузер, он покажет страницу. Что может вызвать это исключение?

+0

Какова ценность 'url' в вашем коде? – Hariprasad

+1

у вас есть веб-прокси? – Damith

+0

Попробуйте WebRequest для webclient –

ответ

4

Зависит от URL-адреса.

Некоторые сайты настроены таким образом, что, если они не получают признанного пользователя-агента, они предполагают, что сайт сканируется несанкционированным ботом и либо вернет 403 Forbidden, либо 404 Not Found, в зависимости от сайт.

+0

Изучив далее, я обнаружил, что, хотя он возвращает 404, он также возвращает ответ с данными. ASP.Net, похоже, игнорирует контент и генерирует исключение. Есть ли что-то другое, кроме WebRequest, которое может использоваться там, где исключение не генерируется при чтении ответа и где я могу прочитать тело фактического контента? – AndroidDev

+0

Поймать System.Net.WebException и прочитать из метода Response.GetResponseStream() исключения. – RomSteady