如何请求URL但不在.NET中下载响应?

时间:2011-05-29 01:17:50

标签: c# .net httpwebrequest

在我的一个Web应用程序中,允许客户提供充当“回调”或通知的URL。 (例如,当WidgetCreated事件发生时,请致电http://customerdomain.com/widget.php?widgetid=101

我们需要做的就是提出要求;我们不关心回应,原因有两个:

  • 浪费了我们的带宽和性能
  • 最糟糕的情况是,滥用客户会向此请求发送1GB回复

我如何发出请求,然后下载第一个,比如1K,然后停止下载?

2 个答案:

答案 0 :(得分:1)

您可以发出HEAD请求。这只下载页面的标题。所以,你仍然在检索内容,但你没有拉动整个页面。

它的基本要点是将Method属性设置为"HEAD"。我把剩下的,包括捕捉异常等等 - 留给你。

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
HttpWebResponse response = request.GetResponse() as HttpWebResponse;

答案 1 :(得分:1)

使用HttpWebRequest发出请求并使用GetResponse方法。而不是阅读响应流,只需return