2011-01-06 19 views
0

我有一个C#应用程序来登录网站并收集一些数据。服务器(Apache)有时会发回302代码,C#应用程序再次向具有相同URI的服务器发送请求。问题是Apache以'W'状态停止(HttpClient卡住请求)。 我想知道,如果我发送请求与response.ResponseURI它将解决这个问题,以及为什么服务器发送代码302如此不稳定的方式?有人对我说,当请求页面的内容没有改变时,Apache会回答这段代码(302)。 ???302来自Apache

请帮帮我吗?

+1

HTTP 302的意思是; “没有改变”。您可以通过将请求中的“缓存控制”标题设置为“no-cache”来强制进行刷新。 – 2011-01-06 11:36:30

回答

0

检查http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html。如果您有302代码响应,则应使用HTTP服务器响应的位置:标头指示的URI重做请求。

这是一个临时重定向。

重定向在响应POST请求时非常常见(完美的应该是303重定向...),而且当然可以将您重定向到登录用户的主页url或登录表单if你的登录失败。