java httpclient重定向_HTTPClient重定向

本文介绍了在使用HTTPClient 4.5.2版本时,POST请求在遇到301重定向不会自动处理的情况。默认策略只支持GET和HEAD方法的重定向。为了处理POST请求的重定向,作者提供了一个自定义的AcgistRedirectStrategy类,该策略覆盖了301、302、303和307状态码,并在307重定向时保留POST参数,其他情况转换为GET请求。
摘要由CSDN通过智能技术生成

使用的HTTPClient版本4.5.2,默认使用的重定向策略是DefaultRedirectStrategy。

如果是使用的POST,然后301重定向是不会执行重定向后的请求的,而是直接获取到301状态码。

主要的代码:

public boolean isRedirected(

final HttpRequest request,

final HttpResponse response,

final HttpContext context) throws ProtocolException {

Args.notNull(request, "HTTP request");

Args.notNull(response, "HTTP response");

final int statusCode = response.getStatusLine().getStatusCode();

final String method = request.getRequestLine().getMethod();

final Header locationHeader = response.getFirstHeader("location");

switch (statusCode) {

case HttpStatus.SC_MOVED_TEMPORARILY:

return isRedirectable(method) && locationHeader != null;

case HttpStatus.SC_MOVED_PERMANENTLY:

case HttpStatus.SC_TEMPORARY_REDIRECT:

ret

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值