java Apache客户端http5覆盖主体和内容长度问题

q1qsirdb  于 2024-01-05  发布在  Java
关注(0)|答案(1)|浏览(104)

在http 5之前,我使用HttpRequestInterceptor来覆盖Entity,对请求进行签名,等等......与apache thrif调用(从libthrift中驱逐覆盖Thttpclient)
在http 5中,interceptor在interceptor方法上有一个新的参数,即InterceptyDetails,它在org.apache.hc.core5.http.protocol.RequestContent interceptor上使用来设置内容长度头
但是,实体已经被覆盖了......实体参数现在已经过时了,我所有的请求现在都发送了错误的内容长度。
这是一个bug吗?或者http 5有其他方法来覆盖实体/主体?(这里用证书签署请求)

**最后一个拦截器覆盖内容长度的解决方法是可以的

wj8zmpe1

wj8zmpe11#

一般来说,不应该使用Cotnent-Length进行**//self-censored//**,而是让HttpClient根据实体细节生成它。如果需要修改消息体,应该使用自定义执行拦截器。This example可以作为合理的起点

相关问题