Java Apache HttpClient支持HTTP 500,但可以';不能在浏览器中复制
使用Java Apache HttpClient支持HTTP 500,但可以';不能在浏览器中复制,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,使用HttpClient4.1.3,我编写了以下代码: HttpClient httpClient = HttpClientFactory.newHttpClient(); HttpGet httpGet = new HttpGet("some/url/to/hit"); HttpResponse httpResp = httpClient.execute(httpGet); int statusCode = httpResp.getStatusLine().getStatusCode(); i
HttpClient
4.1.3,我编写了以下代码:
HttpClient httpClient = HttpClientFactory.newHttpClient();
HttpGet httpGet = new HttpGet("some/url/to/hit");
HttpResponse httpResp = httpClient.execute(httpGet);
int statusCode = httpResp.getStatusLine().getStatusCode();
if(statusCode != HttpStatus.SC_OK)
throw new Exception(/* ... */);
这就是从特定URL获取HTTP 500响应(如HTTP://code>httpResp.getStatusLine().getStatusCode())并引发异常
问题是,当我在浏览器中找到“失败”的URL时,它运行得非常好
所以我问:
是否会超时,缩短请求-响应周期,然后只给我一个HTTP 500HttpClient
- 这里还会发生什么?当浏览器以相同的URL完美地显示页面时,
怎么可能给我500秒HttpClient
提前谢谢 我也有同样的问题。我可以通过浏览器访问网站,但在使用ApacheHTTP客户端时,我始终遇到http 500内部服务器错误。问题是“内容类型”获取标题。它的值为“multipart/related”,这似乎是一些服务器不喜欢的。我把它改为“text/html”,一切正常
希望这能有所帮助。我在访问基于SpringXML的api时遇到了同样的问题。通过将accept头设置为xml和html,问题得以解决
httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;");
尝试从web浏览器调试请求。可能导致问题的原因是您没有设置服务器所需的头。您正在访问哪个服务器?打开请求日志以查看传入的请求。您有权访问服务器上的错误日志吗?如果返回的是500,则应该有日志。@jalynn2-如何打开请求日志?这是一个HttpClient构造还是说Firebug的控制台?我是说在web服务器上。它是什么类型的服务器?它是另一个团队托管产品的Java/Spring后端。我可以通过与他们交谈(反过来,他们也会帮我查看日志!)来访问日志,但我希望在采取这种方法之前排除客户端问题。嘿@cristian。petroaca的我也有同样的问题,但更改内容类型没有帮助