当前位置:编程学习 > JAVA >>

apache HttpClient Content-Length 我用HttpClient调人家的服务,如何手动设置请求时Content-Length的值?

我用HttpClient调人家的服务,如何手动设置请求时Content-Length的值?

自动生成的像下面这样:
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> Transfer-Encoding: chunked
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.2-alpha1 (java 1.5)
12-26 18:02:31.933 DEBUG org.apache.http.wire - >> "2f6[\r][\n]"
12-26 18:02:31.934 DEBUG org.apache.http.wire - >> "<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.。。。。。


服务端只认正文上面是Content-Length:xxx,没有就报无法解析!苦闷.
即下面格式就可以被服务端解析到:
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> Transfer-Encoding: chunked
12-26 18:02:31.932 DEBUG org.apache.http.headers - >> User-Agent: Apache-HttpClient/4.2-alpha1 (java 1.5)
12-26 18:02:31.933 DEBUG org.apache.http.wire - >> "Content-Length: 812"
12-26 18:02:31.934 DEBUG org.apache.http.wire - >> "<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.。。。。。


那个2f6是Content-Length的16进制,是自动生成的,能不能手动设啊?
我试过postmethod.setHeader("Content-Length",xmlRequest.getBytes().length+"") ;
但报Content-Length已存在,可是日志上又看不到。


--------------------编程问答-------------------- response里设置 --------------------编程问答-------------------- 用回了3.0.1
放弃4.2 --------------------编程问答-------------------- --------------------编程问答--------------------
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,