我们的一位开发人员报告了以下错误。
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上运行的。这种行为可能是什么原因造成的?它看起来像它的服务器端,因为这两行代码都适用于其他网站。
答案 0 :(得分:2)
查看服务器的日志应该会提供更多信息那里到底出了什么问题(状态代码500意味着服务器遇到了问题)但我的猜测是在URL后面配置了某种脚本来处理HTTP-request-header Host
的值,不期望端口规范并因此而遇到错误。
另一个原因可能是您和遇到错误的服务器之间的代理,但我发现比上述理论更难以相信。
请提供服务器的错误日志,以便能够详细说明。