Как получить ответ HTTP от навигации по странице? - PullRequest
0 голосов
/ 22 марта 2012

У меня есть сценарий, когда я перехожу на тестовый сайт, но по какой-либо причине (проблемы с подключением и т. Д.) Иногда тест не проходит, потому что он не может попасть на сайт. Как мне запросить заголовок HTTP? Я, очевидно, хочу проверить, является ли это 404, но я не имел дело с заголовками раньше.

Язык выбора - C #, но я открыт.

Спасибо за внимание.

Ответы [ 3 ]

1 голос
/ 22 марта 2012

Создайте HttpRequest (я не показываю код для краткости), затем установите HttpMethod = "HEAD", и когда вы вызываете GetResponse метод, сделайте что-то подобное

try{
    req.GetResponse();
} catch(WebException ex) {
    if (ex.Response != null)
        //Server explicit problem (ie. 404)
    else
        //Network problem: server wasn't even hit
}
0 голосов
/ 22 марта 2012

Просто попробуйте отправить основной HTTP-запрос перед перенаправлением на страницу. Просто проверьте, возвращает ли webiste ответ 200OK, а затем перенаправьте. Надеюсь, этот пример поможет: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse%28v=vs.71%29.aspx

0 голосов
/ 22 марта 2012

FiddlerCore . Это позволяет вам отслеживать / изменять HTTP-трафик вашего приложения. Это если вы используете браузер.

Вы всегда можете отправить запрос HTTP Head до того, как браузер перейдет, если вы хотите проверить состояние сайта.

...