【发布时间】:2011-04-28 11:30:21
【问题描述】:
我发现 HttpClient 发布/放置长 StringEntity 存在问题。当实体很短时,根本没有问题。但是,当长度超过一个值(大约 1400 个字符)时,永远无法发送 http 数据包(我使用 WireShark 嗅探了接口)。实际上是建立了连接,但是没有传输数据,所以接收端出现了超时异常。 我想知道这些是否是长度限制。 我试图增加连接超时和套接字超时,这只让我等待更长的时间才能看到超时...... 而且我也试过用InputStreamEntity,也没用。
[更新]:我尝试直接使用 HttpURLConnection 而不是 HttpClient。同样的问题仍然存在。不过,我确实有一些发现。当我强制将数据包切成块(使用 HttpURLConnection.setChunkedStreamingMode)时,WireShare 确实捕获了数据包的某些片段,而之前的片段丢失了。我想这一定是apache http库中的一个错误。
【问题讨论】:
标签: android post httpclient put