Korzystanie HttpClient
4.1.3, pisałem następujący kod:HttpClient Apache HTTP jest throwng 500S ale nie można odtworzyć w przeglądarce
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(/* ... */);
Że coraz HTTP 500 odpowiedzi (jak stwierdzono w httpResp.getStatusLine().getStatusCode()
) z konkretnego adresu URL i wyrzucenie wyjątku.
Chodzi o to, że kiedy przechodzę do "nieudanego" URL-a w przeglądarce, jego działanie przebiega doskonale.
Więc pytam:
- Could
HttpClient
być limit czasu, zwarcie cyklu żądanie-odpowiedź i po prostu daje mi HTTP 500? - Co jeszcze tu się dzieje? Jak to jest możliwe, aby
HttpClient
dał mi 500s, gdy przeglądarka wyświetla stronę idealnie idealnie pod tym samym dokładnym adresem URL?
Z góry dziękuję!
Spróbuj przeprowadzić debugowanie żądania za pomocą przeglądarki internetowej. Być może przyczyną problemu jest to, że nie ustawiasz nagłówków oczekiwanych przez serwer. – deadlock
Jaki serwer uderzasz? Włącz rejestrowanie żądań, aby zobaczyć swoje przychodzące żądanie. Czy masz dostęp do dzienników błędów na serwerze? Jeśli zwraca 500, powinny być dzienniki. – jalynn2
@ jalynn2 - w jaki sposób mogę włączyć rejestrację żądania? Czy jest to konstrukt HttpClient, czy też mówisz o czymś takim jak konsola Firebuga? – IAmYourFaja