我正在使用 Apache Commons HttpClient 和 Restlet 来调用 Restful Web 服务。不幸的是,我的服务器(基于 Ruby on Rails)不喜欢Transfer-Encoding: chunked
HttpClient 默认使用的。
有什么方法可以禁用客户端 POST 的分块编码吗?
作为一般规则,为了不分块请求,您需要指定帖子正文的确切大小,这对于动态生成的数据意味着您需要在内存中缓冲整个响应,查看其大小然后才发送它。
Apache 客户端文档似乎证实了这一点:AbstractHttpEntity.setChunked() http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/entity/AbstractHttpEntity.html#setChunked%28boolean%29 states
请注意,分块设置只是一个提示。如果使用 HTTP/1.0,则永远不会执行分块。否则,即使 chunked 为 false,如果实体内容长度未知 (-1),HttpClient 也必须使用块编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)