使用apache的HttpClient进行http通讯,隐藏的HTTP请求头部字段是如何自动被添加的

简介: 使用apache的HttpClient进行http通讯,隐藏的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方法:

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

目录
相关文章
|
5月前
|
存储 缓存 API
HTTP 请求的响应头部字段 Cache-Control 的值为 no-store 是什么意思
HTTP 请求的响应头部字段 Cache-Control 的值为 no-store 是什么意思
|
12月前
|
Web App开发 存储 缓存
关于 HTTP 响应头部字段 X-Cache-Akamai
关于 HTTP 响应头部字段 X-Cache-Akamai
|
12月前
|
开发框架 安全 .NET
HTTP 请求的响应头部字段里的 X-powered-by 字段
HTTP 请求的响应头部字段里的 X-powered-by 字段
|
网络协议 前端开发 JavaScript
HTTP 请求头部字段中 connection - keep-alive 的含义
HTTP 请求头部字段中 connection - keep-alive 的含义
|
2月前
|
数据采集 开发框架 .NET
HttpClient在ASP.NET Core中的最佳实践:实现高效的HTTP请求
在现代Web开发中,高效可靠的HTTP请求对应用性能至关重要。ASP.NET Core提供的`HttpClient`是进行这类请求的强大工具。本文探讨其最佳实践,包括全局复用`HttpClient`实例以避免性能问题,通过依赖注入配置预设头部信息;使用代理IP以防IP被限制;设置合理的`User-Agent`和`Cookie`来模拟真实用户行为,提高请求成功率。通过这些策略,可显著增强爬虫或应用的稳定性和效率。
HttpClient在ASP.NET Core中的最佳实践:实现高效的HTTP请求
|
4月前
|
JSON 前端开发 API
Apache HttpClient调用Spring3 MVC Restful Web API演示
Apache HttpClient调用Spring3 MVC Restful Web API演示
38 1
|
5月前
|
JSON Java Apache
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
227 0
|
5月前
|
数据采集 前端开发 Java
利用Scala与Apache HttpClient实现网络音频流的抓取
利用Scala与Apache HttpClient实现网络音频流的抓取
|
5月前
|
JSON Java fastjson
HttpClient和OkHttp发送http请求
HttpClient和OkHttp发送http请求
|
5月前
|
数据采集 JSON Java
HttpClient:HTTP GET请求的服务器响应输出
HttpClient:HTTP GET请求的服务器响应输出

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面