Как скачать только заголовки с помощью WebRequest - PullRequest
2 голосов
/ 24 сентября 2010

Я пишу несколько сценариев для поиска уязвимостей для эксплойта оракула заполнения в ASP.NET, для которого мне нужно посмотреть на HttpStatusCode в ответе. Я делаю это на большом количестве своих сайтов с разными сценариями, и производительность важна. Я могу сделать это просто отлично с помощью следующего кода:

var req = (HttpWebRequest)WebRequest.Create(uri);
req.AllowAutoRedirect = false;
HttpWebResponse resp;

try
{
  resp = (HttpWebResponse)req.GetResponse();
  resp.Close();
}
catch (WebException e)
{
  resp = (HttpWebResponse)e.Response;
}
responseCode = resp.StatusCode;

Единственная проблема с этим состоит в том, что загружается все тело ответа (согласно Fiddler), что оказывает некоторое влияние на производительность при большом количестве перечислений. Таким образом, вопрос заключается в следующем; можно ли извлечь только заголовки, не загружая все тело?

Может быть, я не совсем правильно понимаю некоторую фундаментальную концепцию HTTP, но если есть способ значительно сократить размер ответа и устранить некоторые различия во времени ответа, перетаскивая полные страницы через Интернет, я бы люблю это слышать. Спасибо!

Ответы [ 2 ]

4 голосов
/ 24 сентября 2010

Может быть, использовать глагол HEAD в запросе?

1 голос
/ 17 июля 2012

Этот другой вопрос переполнения стека содержит подробный ответ с примером кода:

Альтернатива облегченного веб-запроса "HEAD"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...