由于工做须要,想研究一下execute执行的逻辑。服务器
在这一行调用execute:ui
response = getHttpClient().execute(get);
复制代码
getHttpClient的实现:this
private HttpClient getHttpClient() {
if (this.m_httpClient == null) {
this.m_httpClient = HttpClientBuilder.create().build();
}
return this.m_httpClient;
}
复制代码
我在代码里声明的HttpClient只是一个接口,url
实现类是InternalHttpClient。spa
首先根据传入的请求决定出目标-target host3d
投递到RedirectExec执行。code
后者又投递到RetryExec执行。cdn
收到307重定向:blog
redirectsEnabled标志位为true:接口
再看当前的请求确实被redirect了吗?
original url:
个人后台服务器返回的307,落到了分支HttpStatus.SC_TEMPORARY_REDIRECT处:
看来Apache的库认为只有HEAD和GET才能被redirect:
重定向最大次数:50
准备重试了:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":