在http 5之前,我使用HttpRequestInterceptor来覆盖Entity,对请求进行签名,等等......与apache thrif调用(从libthrift中驱逐覆盖Thttpclient)
在http 5中,interceptor在interceptor方法上有一个新的参数,即InterceptyDetails,它在org.apache.hc.core5.http.protocol.RequestContent interceptor上使用来设置内容长度头
但是,实体已经被覆盖了......实体参数现在已经过时了,我所有的请求现在都发送了错误的内容长度。
这是一个bug吗?或者http 5有其他方法来覆盖实体/主体?(这里用证书签署请求)
**最后一个拦截器覆盖内容长度的解决方法是可以的
1条答案
按热度按时间wj8zmpe11#
一般来说,不应该使用
Cotnent-Length
进行**//self-censored//**,而是让HttpClient根据实体细节生成它。如果需要修改消息体,应该使用自定义执行拦截器。This example可以作为合理的起点