【问题标题】:Program stop running when I call getResponseCode()当我调用 getResponseCode() 时程序停止运行
【发布时间】:2017-05-31 11:23:10
【问题描述】:

我在运行代码时遇到问题,在打开 HTTP 请求后,我试图检索响应代码,但随后程序在 print 语句上停止运行 以下是我的代码:

private static HttpURLConnection openHttpConnection(URL url, String method){
try {
HttpURLConnection connection = null;
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod(method);
connection.setRequestProperty("Content-Type", 
"application/json;charset=UTF-8");
connection.setRequestProperty("Accept", "application/json");
System.out.println(connection.getResponseCode());
}
catch (Exception exception) { 
exception.printStackTrace();
}

程序在最后一行停止,当我打开多个HTTP请求时出现问题。 注意:当我调试相同的代码时,它适用于配音,但不适用于运行。 在 8 个 HTTP 请求之后也会出现问题。

请帮忙。谢谢。

【问题讨论】:

  • 您说您的程序在 8 次请求后挂起。你会在某个时候关闭你的连接吗?它们真的关闭了吗(在操作系统级别)?如果您的连接仍然打开/挂起,则服务器(无论您连接到什么)可能会用完连接....

标签: java http netbeans connection httpresponse


【解决方案1】:

您是否将这些代码行放在 try/catch 块中? 可能会引发异常,捕获它以获取堆栈跟踪将有助于获取信息。 此外,如果有更多关于执行上下文的信息会更方便:这是什么类型的应用程序,url 来自哪里等等。

【讨论】:

  • 是的,我把它放在 try/catch 块中,作为方法参数给出的 url,我更新了上面的代码.. 谢谢。
  • 在极少数情况下,不会抛出异常,而是抛出一个 Throwable。一个解决方案可能是抓住它,但不建议这样做 (stackoverflow.com/questions/6083248/…)。那么,您将获得更多关于发生了什么的信息。恕我直言,你可以暂时抓住它。
  • 我放了 Throwable 块,但问题仍然存在。
【解决方案2】:
  • 如果您的程序停止最后一行(即JVM退出)而不打印任何响应代码,则异常必须。此异常很可能会告诉您问题所在。正如 Javert0 指出的那样,您发现此异常的位置取决于您的环境 - 最坏的情况是捕获任何异常并自己打印...

  • 如果您的程序挂起在最后一行,connection.getResponseCode() 可能无法从服务器获得响应并等待超时。

  • 由于您在请求响应代码 (connection.getResponseCode()) 之前没有明确的 connection.connect(),因此问题几乎可以是任何问题:超时(服务器/网络/DNS / ...)无响应,无效的结果,缺少权限,...

【讨论】:

  • 我放了 catch 块,但没有扔在那里。
  • 你确定connection.getResponseCode() 被调用了吗?您的代码是否在 getResponseCode() 上退出,即退出 JVM 还是挂起(等待超时/无限期等待)?
【解决方案3】:

服务器可能正在发送垃圾......或者只是关闭连接。那时它发生了错误。

或者某个时间响应没有来或当时为空,这是错误的。

https://nazimkuet.wordpress.com/2015/03/16/how-to-get-http-response-code-for-a-url-in-java/

首先,您检查您的回复,或者您已经写下您的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    相关资源
    最近更新 更多