Using HttpClient
4.1.3, I've written the following code:
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(/* ... */);
That's getting HTTP 500 responses (as found in the httpResp.getStatusLine().getStatusCode()
) from a particular URL and throwing the exception.
The thing is, when I go to the "failing" URL in a browser, its running perfectly fine.
So I ask:
HttpClient
be timing out, short-circuiting the request-response cycle, and just giving me an HTTP 500?HttpClient
to be giving me 500s when the browser is displaying the page perfectly fine for the same exact URL?Thanks in advance!
I had the same problem. I could access a web site via the browser but when using the apache http client, I consistently got http 500 internal server error. The problem was the "Content-Type" GET Header. It had the value "multipart/related",which some servers don't seem to like. I changed it to "text/html" and it all worked fine.
Hope this helps.
I had the same problem accessing a spring xml based api. The problem solved by setting the accept header to xml and html.
httpGet.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With