getinputstream字符限制

xpcnnkqh  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(314)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

18天前关门了。
改进这个问题
我使用下面的代码来读取httpsurlconnection请求主体。我遇到的问题是下面代码中的sresponsestring变量仅限于1000个字符。有没有办法提高或绕过这个限制?

BufferedReader in = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String sInputLine = "";             
while ((sInputLine = in.readLine()) != null){
    sResponseString += sInputLine;
}
```
oxalkeyp

oxalkeyp1#

客户端代码(如图所示)、http/https协议或底层tcp/ip传输都不会对响应的大小施加1000个字符的限制。
(http和tcp/ip没有技术限制。由于在堆中将结果组装为字符串,因此存在技术/实际限制。例如,java String 最多可以是2^31-1个字符。但这与你的问题无关……)
因此,如果有什么东西限制了响应的大小,那么与代码对话的将是远程服务器或代理。因此,没有普遍的解决办法。你的方法应该是:
检查您正在谈论的webapi的文档,看看它是否给出了问题的原因并提供了解决方案。
如果没有,请联系提供api的人员并寻求他们的帮助。
有没有办法提高或绕过这个限制?
除非你知道原因;见上文。可能,一点也不。
这也值得检查一下您当前得到的~1000个字符中的内容。它可能是某种“错误”响应,而不是您所期望的内容,这可以解释为什么它比您所期望的要小。

相关问题