HttpClient 4.5.12 接口重定向解决方法

2025-01-15T18:16:14

遇到接口提供方,使用了代理,每次请求都会重定向。而默认获取请求是直接返回的,即返回了 302 内容,无法实际调用接口。

核对了一下问题,接口方提出添加允许跟随重定向:

request.setFollowRedirects(true);

但我这边添加的时候报错,没有这个方法。百度提示 HttpClient 4.x 不需要手动设置是否跟踪重定向,它会自动处理重定向。

以下为生效配置修改项:

RequestConfig.Builder configBuilder = RequestConfig.custom();
// 设置连接超时
configBuilder.setConnectTimeout(MAX_TIMEOUT);
// 设置读取超时
configBuilder.setSocketTimeout(MAX_TIMEOUT);
// 设置从连接池获取连接实例的超时
configBuilder.setConnectionRequestTimeout(MAX_TIMEOUT);

// 设置是否允许重定向
configBuilder.setRedirectsEnabled(followRedirects);

// 允许循环重定向
// 设置最大重定向次数
configBuilder.setCircularRedirectsAllowed(true).setMaxRedirects(5);
...
httpBuilder.setRedirectStrategy(new LaxRedirectStrategy());
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »