gpt4 book ai didi

java - Apache HttpClient 抛出 HTTP 500,但无法在浏览器中重现

转载 作者:搜寻专家 更新时间:2023-10-31 20:21:56 24 4
gpt4 key购买 nike

使用 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?
  • 这里还能发生什么? HttpClient 怎么可能在浏览器为相同的确切 URL 完美显示页面时给我 500?

提前致谢!

最佳答案

我遇到了同样的问题。我可以通过浏览器访问网站,但是在使用 apache http 客户端时,我始终收到 http 500 内部服务器错误。问题是“Content-Type”GET header 。它的值是“multipart/related”,有些服务器似乎不喜欢它。我将其更改为“text/html”,一切正常。

希望这对您有所帮助。

关于java - Apache HttpClient 抛出 HTTP 500,但无法在浏览器中重现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com