Как запросить URL, а не скачать ответ в .NET? - PullRequest
1 голос
/ 29 мая 2011

В одном из моих веб-приложений клиенты могут предоставлять URL-адреса, которые выполняют функцию «обратного вызова» или уведомления. (Например, когда происходит событие WidgetCreated, позвоните http://customerdomain.com/widget.php?widgetid=101)

Все, что нам нужно сделать, это сделать запрос; Мы не заботимся об ответе по двум причинам:

  • Это тратит впустую нашу пропускную способность и производительность
  • В худшем случае клиент-нарушитель отправляет ответ 1 ГБ на этот запрос

Как я могу сделать запрос и загрузить первый, скажем, 1K, а затем остановить загрузку?

Ответы [ 2 ]

1 голос
/ 29 мая 2011

Сделайте запрос с помощью HttpWebRequest и используйте метод GetResponse. Вместо того, чтобы читать поток ответов, просто return.

1 голос
/ 29 мая 2011

Вы можете отправить запрос HEAD.Это только загружает заголовки страницы.Таким образом, вы по-прежнему извлекаете контент, но не извлекаете всю страницу.

Основная суть этого в том, чтобы просто установить для свойства Method значение "HEAD".Остальное я оставляю, включая ловлю исключения и т. Д. - вам.

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...