首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache HttpClient正在抛出HTTP500s,但不能在浏览器中复制

Apache HttpClient正在抛出HTTP500s,但不能在浏览器中复制
EN

Stack Overflow用户
提问于 2012-10-18 12:12:18
回答 2查看 7.2K关注 0票数 6

使用HttpClient 4.1.3,我编写了以下代码:

代码语言:javascript
复制
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获取HTTP500个响应(如在httpResp.getStatusLine().getStatusCode()中找到的)并抛出异常。

问题是,当我进入浏览器中的“失败”URL时,它运行的非常好。

所以我问:

  • HttpClient会不会超时,缩短请求响应周期,只给我一个HTTP500?
  • 这里还会发生什么?当浏览器为相同的URL显示页面时,HttpClient怎么可能给我500 s呢?

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2012-12-15 14:06:48

我也有同样的问题。我可以通过浏览器访问网站,但是在使用apache客户端时,我始终会得到http 500内部服务器错误。问题是“内容类型”获取标题。它具有“多部分/相关”的值,有些服务器似乎不喜欢这个值。我把它改为"text/html“,一切都很好。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2013-11-16 17:14:46

我在访问基于spring xml的api时也遇到了同样的问题。通过将accept标头设置为xml和html解决了问题。

代码语言:javascript
复制
httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;"); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12954331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档