尽管进行了设置,Apache HttpComponents 仍不遵循重定向请求
我正在向 MultipartEntity 的 Web 服务器执行 POST 来上传文件。 Apache HttpComponents 版本 4.1。
我得到的响应是 302 重定向。如果我使用抛出 ClientProtocolException 的 BasicResponseHandler。 (BasicResponseHandler 的 JavaDoc 说客户端可能遵循重定向,这是相当模糊的!)
文档让我相信客户端会自动遵循重定向并返回该响应。我在客户端参数中明确设置 HANDLE_REDIRECTS true 。
我在这里缺少什么?
I'm doing a POST to a web server of a MultipartEntity to upload a file. Apache HttpComponents version 4.1.
The response I get is a 302 redirect. If I use a BasicResponseHandler that throws a ClientProtocolException. (The JavaDoc for BasicResponseHandler says that client may follow a redirect, which is pretty vague!)
The docs led me to believe that the client would automatically follow a redirect and return that response. I explicitly set HANDLE_REDIRECTS true in the client parameters.
What am I missing here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
某些请求类型(主要是包含 POST 和 PUT 等实体的请求)的重定向可能不会按照 HTTP 规范的要求自动执行。您可以使用自定义 RedirectStrategy 覆盖 HttpClient 的默认行为。
Redirects of some request types (mainly entity enclosing ones such as POST and PUT) MAY NOT be executed automatically per requirements of the HTTP specification. You can override the default behaviour of HttpClient by using a custom RedirectStrategy.
可能与此处的问题相同: URLConnection 不遵循重定向 。它仅遵循相同的协议,并且不会从 HTTP 重定向到 HTTPS(或不同协议的其他组合)。
May be it's the same issue as here: URLConnection Doesn't Follow Redirect . It follows only the same protocol, and doesn't redirect from HTTP to HTTPS (or some other combination of different protocols).