如果指定了端口,则HttpGet返回500错误

时间:2018-02-16 08:32:39

标签: java http

我们的一位开发人员报告了以下错误。

HttpGet foo = new HttpGet("http://www.example.com/path/to/file.xml");

工作正常。

但是,如果指定了端口,

HttpGet foo = new HttpGet("http://www.example.com:80/path/to/file.xml");

服务器返回HTTP 500错误。

我已经验证网站是在标准HTTP端口80上运行的。这种行为可能是什么原因造成的?它看起来像它的服务器端,因为这两行代码都适用于其他网站。

1 个答案:

答案 0 :(得分:2)

查看服务器的日志应该会提供更多信息那里到底出了什么问题(状态代码500意味着服务器遇到了问题)但我的猜测是在URL后面配置了某种脚本来处理HTTP-request-header Host的值,不期望端口规范并因此而遇到错误。

另一个原因可能是您和遇到错误的服务器之间的代理,但我发现比上述理论更难以相信。

请提供服务器的错误日志,以便能够详细说明。