【发布时间】:2016-04-04 15:20:48
【问题描述】:
在向安全 URL 发送 HTTP POST 请求并接收到状态代码后,我的应用程序需要决定是输出响应还是在重定向的情况下向标头“Location”中指定的 URL 发送 HTTP GET 请求.
这适用于登录页面的至少一个 URL,该页面返回 HTTP 状态代码 302 和重定向位置信息到其主页。然后我的应用程序在主页位置执行 GET。到目前为止一切顺利。
然而,在向另一个登录页面的这个有问题的 URL 发送 POST 请求时,我总是从 getResponseCode() 返回 HTTP 200,并将登录页面本身作为内容结果。 POST 请求发送时包含正确的登录信息,服务器响应为 301,至少我可以使用 Firefox 浏览器的插件 (RESTClient) 进行检查。
使用 RESTClient 插件,我可以按预期返回 HTTP 301 和响应正文(主页)。以下是我使用 RESTClient 测试时得到的响应标头:
状态代码:301 永久移动缓存控制:私有 内容长度:62718 内容类型:文本/html; charset=utf-8 日期: 2015 年 12 月 30 日星期三 15:40:57 GMT 服务器:Microsoft-IIS/7.5 Set-Cookie: osVisit=55754609-0612-4846-97af-8b7dff36b56e;到期=2015 年 12 月 30 日,星期三 格林威治标准时间 16:10:56;路径=/; HttpOnly pageLoadedFromBrowserCache=false; path=/ X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET X-UA 兼容:IE=edge,chrome=1
有人知道这里发生了什么吗?
【问题讨论】:
标签: httpurlconnection http-status-code-301