我的代码试图导航网址通过外部进程提供给它的,但最近我发现了一个bug在HttpWebRequest的重定向 在案件的网址为http://ask.bitauto.com/TreeAsk/index.aspxHttpWebRequest的重定向失败
,我发现这是什么网址获取浏览器导航成功当指定的HTTP Referer的,但净的WebRequest的失败(但不提供任何例外),即使.Refer分配,在启用失败与MaxRedirect AutoRedirects的情况下达到例外
根据MSDN
“如果AllowAutoRedirect属性为true,当请求被重定向到另一个站点时,Referer属性自动设置。“
这是否意味着在同一站点重定向的处理方式不同。请让我知道如果有人有任何想法如何解决这个问题。
由于提前
根据我对HTTP协议空白位置标题的理解,意味着你被重定向到同一页面,HTTPWebRequest也是如此,但是在这种情况下它并没有设置Referer Header,这种情况一次又一次地导致了来自服务器的相同响应, MaximumAutomaticRedirections。 – CodeWrite 2011-04-21 08:07:32
我没有发现任何支持该重定向行为的源代码,编辑了这个答案来反映这一点。 – 2011-04-21 08:18:26
我认为你是对的我正在使用HTTPWebRequest的AutoRedirect属性,导致问题。 我在使用Referer手动重定向,在达到MaximumAutomaticRedirections之后,行为使得HTTPWebRequest不可预知,程序崩溃。 现在遵循你的建议,我关闭了AutomaticRedirects及其正常工作。 感谢您的咨询! – CodeWrite 2011-04-21 08:37:31