【问题标题】:getInputStream Character Limit [closed]getInputStream 字符限制
【发布时间】:2020-12-21 21:10:20
【问题描述】:

我正在使用下面的代码从 HttpsURLConnection 请求正文中读取。我遇到的问题是下面代码中的 sResponseString 变量仅限于 1000 个字符。有没有办法增加或绕过这个限制?

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

【问题讨论】:

  • 没有这个限制。服务器很可能拒绝发送更多信息。
  • 在不披露专有信息的情况下,您能否提供更多线索:请求的格式是什么,响应中读取了哪些数据?

标签: java httpsurlconnection


【解决方案1】:

您的客户端代码(如图所示)、HTTP/HTTPS 协议或底层 TCP/IP 传输都不会对响应的大小施加约 1000 个字符的限制。

(HTTP 和 TCP/IP 没有技术限制。由于您将结果组装为堆中的字符串,因此存在技术/实际限制。例如,Java String 可以是最多 2^31 - 1 个字符。但这与您的问题无关...)

因此,如果有什么限制了响应大小,它将是您的代码正在与之通信的远程服务器或代理。因此,没有通用的解决方案。你的方法应该是:

  • 检查您正在讨论的 Web API 的文档,看看它是否给出了问题的原因并提供了解决方案。

  • 如果没有,请联系提供 API 的人员并寻求他们的帮助。


有没有办法增加或绕过这个限制?

除非你知道是什么原因,否则不会;往上看。并且可能,根本没有。


还值得检查一下您当前获得的约 1000 个字符中的内容。这可能是某种“错误”响应,而不是您期望的内容,可以解释为什么它比您期望的要小。

【讨论】:

    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 2015-03-07
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多