当前位置: 首页 > 知识库问答 >
问题:

Apache HttpClient充斥着HTTP 500s,但无法在浏览器中复制

江温书
2023-03-14

我使用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响应(如httpResp.getStatusLine(). getStatusCode()中找到的)并抛出异常。

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

所以我问:

  • HttpClient是否会超时,缩短请求-响应周期,并且只是给我一个HTTP 500?
  • 这里还会发生什么?当浏览器显示相同URL的页面完全正常时,HttpClient怎么可能给我500秒?

提前感谢!

共有2个答案

谢鸿
2023-03-14

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

httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;"); 
葛智敏
2023-03-14

我也有同样的问题。我可以通过浏览器访问网站,但当使用apache http客户端时,我始终收到http 500内部服务器错误。问题是“Content Type”GET头。它的值为“multipart/related”,这似乎是一些服务器不喜欢的。我把它改为“text/html”,一切都很好。

希望这有帮助。

 类似资料:
  • 我可以发送帖子并从邮递员那里获得请求,但当我实际从浏览器发送请求时,它无法获取记录,并在控制台中显示错误“body:{ error:“Collection ' undefined ' not found”}”。 已尝试Get和Post请求,它们都在POSTMAN中提供数据作为响应,但在浏览器中不起作用。显示错误“body:{ error:“Collection ' undefined ' not

  • 问题内容: 我一直在开发一个nodejs服务器,以便为我正在使用HTML5开发的新网站提供服务器端事件。 当我通过telnet到服务器时,它可以正常工作,向我发送所需的HTTP响应标头,然后再发送一系列事件,这些事件我目前每2或3秒生成一次,以证明其有效。 我尝试了最新版本的FireFox,Chrome和Opera,它们创建了EventSource对象并连接到nodejs服务器,但没有一个浏览器会

  • 好吧,我知道有很多关于这个的问题和答案,但我真的没有任何运气。我有一个多类、多包程序,它也使用一些外部库(作为jar文件)。我也将我的项目导出为jar文件,下面是我的“index.html”,它引用了必要的库和我的jar文件。所有这些文件都放在同一个目录中,我可以在我的网页上看到小程序:http://easlnx01.eas.muohio.edu/~whitetc2/Twitter挖掘2/ 我的主

  • 当我调用时,webdriver将打开浏览器,但不打开我请求的单击。在Firefox中,没有URL应该在的地方,而在Chrome中,没有URL的地方有test__“data:,”。不到一个月前,我在使用Selenium和Chrome时没有任何问题,使用的代码与现在相同。 我正在使用: null 下面是我用来打开Chrome的代码: 下面是geckodriver日志的输出: 1546726141780

  • 无壳浏览器 无壳浏览器是指没有图形用户界面的 Web 浏览器. 无壳浏览器拥有一个和受欢迎的 Web 浏览器相似的环境, 并提供了网页的自动化控制, 但要通过命令行接口或使用网络通信工具执行. 对于测试网页, 无壳浏览器是非常有用的, 因为和普通浏览器一样, 它们能渲染和理解 HTML, 包括样式元素, 如: 页面布局, 颜色, 字体选择, JavaScript 的执行和 AJAX, 但是当使用其