【问题标题】:Sudden failure with getInputStream() on JDK1.7.0_25JDK1.7.0_25 上的 getInputStream() 突然失败
【发布时间】:2013-08-19 16:23:49
【问题描述】:

我已经在工作中运行了 3 年的应用程序,但突然之间它决定失败。我无法确定是否涉及网络问题或完全不同的问题。

堆栈跟踪:

java.lang.NullPointerException
    at sun.net.www.protocol.http.NegotiateAuthentication.isSupported(NegotiateAuthentication.java:99)
    at sun.net.www.protocol.http.AuthenticationHeader.parse(AuthenticationHeader.java:180)
    at sun.net.www.protocol.http.AuthenticationHeader.<init>(AuthenticationHeader.java:126)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1374)
    at domain.ActivationSMSReceiverMain.processLogFromUrl(SMSSys.java:327)
    at domain.ActivationSMSReceiverMain.<init>(SMSSys.java:45)
    at domain.ActivationSMSReceiverMain.main(SMSSys.java:477)

代码示例:

URL url = new URL(uri);
HttpURLConnection uc = (HttpURLConnection) url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));

我已确保 uri 格式正确 (http://www.blah/?something)。

响应头:

HTTP 200 No Error

Content-Type: text/html
Cache-Control: private
Content-Length: 127364
X-Powered-By: ASP.NET
Server: Microsoft-IIS/6.0
Date: Sat, 17 Aug 2013 10:31:25 GMT

【问题讨论】:

  • 看起来有些事情发生了变化。基本上有 3 件事可以改变: 1. 引发异常的代码。 2. 调用引发异常的代码的代码。 3. 或者某些情况导致数据不同导致异常。案例 3 将是一个直到现在才被发现的错误。堆栈跟踪中的哪些代码是您或您的组织编写的?最近有变化吗?能否调试并详细检查分析情况(尤其是传给HTTP API的参数)?
  • 您是否直接从您的代码中调用包“sun.net.*”中的代码?
  • 好吧。 6个月前JDK已更新到最新,但从那个时期到现在都没有问题。我已经联系了我们从中获取这些资源的第二方,他们没有改变任何东西,甚至没有在他们的服务器上进行更新,在 1000 个客户中,我们是唯一一个就问题与他们联系过的客户,所以我假设他们在告诉真相。最后三行是我写的。我可以毫无问题地从同一服务器的任何浏览器浏览数据。
  • 我没有:import java.net.HttpURLConnection; import java.net.URL;
  • 如果您没有任何其他嫌疑人,我真的会尝试调试它。让我们假设java.netsun.net 代码没有错误。如果这是真的并且您正在联系的服务器也正常工作,那么对java.net 代码的调用一定是错误的。 NullPointerException 对我来说似乎传递给该 API 的数据/参数有问题。我会通过使用调试器或日志输出来详细查看。即使问题的根源在其他地方,这也可能会让您走上正轨。

标签: java http inputstream


【解决方案1】:

问题是代理服务器有问题,所以问题自己解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2020-06-25
    • 2021-11-27
    • 2011-09-19
    • 1970-01-01
    相关资源
    最近更新 更多