博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache httpclient的execute方法调试
阅读量:6579 次
发布时间:2019-06-24

本文共 591 字,大约阅读时间需要 1 分钟。

因为工作需要,想研究一下execute执行的逻辑。

在这一行调用execute:

response = getHttpClient().execute(get);复制代码

getHttpClient的实现:

private HttpClient getHttpClient() {		if (this.m_httpClient == null) {			this.m_httpClient = HttpClientBuilder.create().build();		}		return this.m_httpClient;	}复制代码

我在代码里声明的HttpClient只是一个接口,

实现类是InternalHttpClient。

首先根据传入的请求决定出目标-target host

投递到RedirectExec执行。

后者又投递到RetryExec执行。

收到307重定向:

redirectsEnabled标志位为true:

再看当前的请求确实被redirect了吗?

original url:

我的后台服务器返回的307,落到了分支HttpStatus.SC_TEMPORARY_REDIRECT处:

看来Apache的库认为只有HEAD和GET才能被redirect:

重定向最大次数:50

准备重试了:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

转载地址:http://xabno.baihongyu.com/

你可能感兴趣的文章
【Scala谜题】成员声明的位置
查看>>
git最最最最...常用命令
查看>>
复杂recyclerView封装库
查看>>
使用Redis构建文章投票网站(Java)
查看>>
见微知著 —— Redis 字符串内部结构源码分析
查看>>
Command './js-ant' failed to execute
查看>>
阿里云NFS NAS数据保护实战
查看>>
Spring cloud配置客户端
查看>>
产品研发项目管理软件哪个好?
查看>>
【阿里云北京峰会】一图看懂机器学习PAI如何帮助企业应用智能化升级
查看>>
ansible playbook使用总结
查看>>
Android API中文文档(111) —— MailTo
查看>>
机器人开源革命
查看>>
《Java EE 7精粹》—— 2.7 安全
查看>>
《AngularJS高级程序设计》——5.9 使用承诺
查看>>
《jQuery Mobile入门经典》—— 第 2 章 使用HTML、CSS和JavaScript
查看>>
ugg
查看>>
Comparison method violates its general contract
查看>>
将WINDOWS系统目录写入TXT文件
查看>>
JavaScript学习(一)
查看>>