服务器返回HTTP响应代码:URL为500

时间:2011-03-21 07:02:45

标签: java httpurlconnection

java.io.IOException: Server returned HTTP response code: 500 for URL: http://ww
.huadt.com.cn/zh-cn/i/l/@357671030745308@V500@0000@AUTOLOW@1@11d590f7$GPRMC,065
48.000,A,3959.8587,N,11617.2447,E,0.00,55.32,210311,,,A*56@@
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown S
urce)
        at hdt.SendCmdToP.Sendplatform(SendCmdToP.java:67)
        at hdt.SendCmdToP.process(SendCmdToP.java:198)
        at hdt.SendCmdToP.run(SendCmdToP.java:131)
java.lang.NullPointerException
        at hdt.SendCmdToP.Sendplatform(SendCmdToP.java:91)
        at hdt.SendCmdToP.process(SendCmdToP.java:198)
        at hdt.SendCmdToP.run(SendCmdToP.java:131)

出现指针,和500错误的关闭异常,防火墙关系?如果不是代码问题?请大家帮忙看看如何解决问题。 感谢。

4 个答案:

答案 0 :(得分:0)

目前尚不清楚你在日志中显示的内容 - 这看起来像是两个独立的例外。您是否可能记录第一个异常(表示服务器错误)但忽略它,并尝试继续?这很容易导致以后出现NullPointerException。如果你捕获异常并且不重新抛出它(或者是一个不同的异常),你需要真正处理异常 - 其余的代码需要正常工作。

我认为你需要从三个方面着手:

  • 检查我对情况的理解是否正确。了解为什么记录了两个例外。
  • 找出Web服务器无法返回该URL数据的原因。如果您拥有其他服务器,则应查看其日志。如果它是另一个Java服务器,则可能500表示未处理的异常。
  • 修复您的代码,以便更好地处理Web服务器故障 - 即,以便一个错误不会导致另一个错误。也许你的代码应该只是没有捕获IOException开始,但允许它在堆栈中传播到某个顶级处理程序,它会记录它并使整个操作以适当的方式失败? (当然,这取决于您正在运行的应用程序类型。)

答案 1 :(得分:0)

首先,你的网址需要'www'而不是'ww'。其次,当您对更正后的网址发出curl请求时,会收到内部错误消息:

Internal Error

答案 2 :(得分:0)

500响应意味着服务器检测到内部错误。可能有多种原因。

查找导致错误的信息的最佳位置是服务器日志。但如果不这样做,URLConnection对象的“错误”流中可能会有一些额外的诊断信息。尝试打开它并将其内容复制到标准输出或记录器。

或者只是访问网络浏览器中的网址或使用wget或curl,然后查看它显示的错误消息。

(您必须谨慎使用其他工具,因为可以想象问题是由HTTP请求标头中的某些内容引起的......这些可能取决于您用来获取URL的工具。 )

答案 3 :(得分:0)

Web服务器(运行Web站点)遇到意外情况,导致客户端无法满足请求访问请求的URL的请求。

基本上出现了问题,但服务器在响应客户端时不能更具体地说明错误情况。除了通知回客户端的500错误之外,Web服务器还应生成某种内部错误日志,其中提供了更多错误的详细信息。由Web服务器站点的操作员来定位和分析这些日志。

相关问题