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