千家信息网

如何使用apache的HttpClient进行http通讯

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"如何使用apache的HttpClient进行http通讯",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何使用apache的Ht
千家信息网最后更新 2026年11月01日如何使用apache的HttpClient进行http通讯

这篇文章主要讲解了"如何使用apache的HttpClient进行http通讯",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何使用apache的HttpClient进行http通讯"吧!

我们用apache的HttpClient这个库消费云端的Restful API时,一般都需要两次HTTP调用,第一次获得某种token,比如获取防止跨域请求伪造攻击Cross-site request forgery - CSRF的token,或者比如微信API的access token,第二次再进行真正的API消费。

通常情况下,第一次请求完毕后,服务器都会给客户端返回一些cookie字段,在第二次请求时,如果使用的是postman测试工具或者apache的HttpClient这个库,cookie字段都会自动被附加在第二次请求的HTTP头部。详情可以参考我写的另一篇博客:OData service parallel performance measurement - how to deal with XSRF token in Java Program and JMeter

https://blogs.sap.com/2017/08/28/odata-service-parallele-performance-measurement-how-to-deal-with-xsrf-token-in-java-program-and-jmeter/

本文就来介绍apache的HttpClient,在发送第二个Http请求时,是如何自动插入从第一个请求获得的服务器颁发的cookie的。

首先进入HttpClient的单步调试:InternalHttpClient.doExecute方法:

第85行的origheaders,即取出程序员在代码里指定的http请求头部字段,比如basic Authentication,content-type,token等等:

这个cookie是什么时候传进来的?

看来我们必须进入httpcore-4.4.3.jar这个apache HttpClient的实现里去调试。

经过观察发现,一旦我执行完204行的conn.sendRequestHeader方法,就能观察到Cookie被自动设置了,所以奥妙就在第204行里。

自动添加Content-Length头部字段:

由此可见Content-length是通过方法entity.getContentLength()自动计算出来的,因此我们程序员不必在自己的应用代码里重复这个计算动作。

自动加入host字段:

自动加入Connection: Keep-Alive

UserAgent的自动填充:Apache-HttpClient/4.5.1, 这个也不用程序员操心。

终于到了我要找的RequestAddCookies这个HTTPRequestInterceptor了。光从这个类的字面意思就能猜到它和HTTP请求的Cookie有关。

新建一个Cookie,这个CookieOrigin构造函数里的hpst,path和secure标志位都是Chrome开发者工具的Cookie标签页里能看到。

从 Cookie Store里取出前一次请求中由服务器返回的Cookie:

这里把Cookie store里的cookie加到第二个请求的头部字段,谜底就这样解开了。

感谢各位的阅读,以上就是"如何使用apache的HttpClient进行http通讯"的内容了,经过本文的学习后,相信大家对如何使用apache的HttpClient进行http通讯这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

字段 通讯 头部 方法 服务器 程序 程序员 学习 服务 代码 内容 工具 情况 第一次 消费 观察 不用 云端 函数 动作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 西安纸贵互联网科技有限公司 互联网属科技 互联网科技小贷 中国互联网科技发展 广西互联网科技公司 央行互联网金融科技公司 北京华百购互联网科技有限公司 以后互联网后是啥科技 昊天互联网科技有限公司 赶超互联网科技 微信多开 互联网科技与大数据专业 互联网行业科技股 互联网科技接地气 北京军民互联网科技公司 安徽零酒互联网科技有限公司 互联网科技对化妆品行业 重庆科技产业互联网有哪些 青岛互联网科技园 互联网大会出现的黑科技 知域互联网科技有限公司官网 哈尔滨大商圈互联网科技有限公司 智能科技公司是互联网公司吗 互联网科技的英文 深圳期待互联网科技 盛创互联网科技有限公司 哈尔滨新华互联网科技 荆州市昕露互联网络科技有限公司 深圳市优智互联网科技有限公司 科技互联网经济论坛 瑞安市蟠桃会互联网科技有限公司
0