2010-08-04 33 views
3

我试图弄清楚我的Web请求被重定向了多少次,然后才终于登录到最终内容。Httpwebrequest/Httpwebresponse - 重定向计数

我创建我的Web请求如下:

var httpRequest = (HttpWebRequest) WebRequest.Create("some arb path"); 
httpRequest.AllowAutoRedirect = followRedirects; 

我有一个看看下面的网址http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.maximumautomaticredirections.aspx

不过,我不想强​​加限制。我真的希望它遵循所有的重定向(不是真的想要引用所有的URL),但只是例如说“你已经被重定向了X次”。

我希望有一个快速的方法来做到这一点,因为目前我假设我必须捕获所有3xx代码并为每个代码创建一个新的请求(希望不是!)。

回答

1

没有办法达到你想要的。您必须捕获每个3xx请求并使用重定向的位置标题发出一个新请求。但是,如果你想使用原生C/C++代码并直接写入WININET(它是IE使用的库),它会为你发出的每个重定向提供通知(通过回调机制)。

+0

给你一点,因为你是唯一回答的人(即使我想到了同样的解决方案) – Madabitjer 2010-08-08 10:17:12