का उपयोग HttpClient
4.1.3, मैं निम्नलिखित कोड लिखा है में पुन: पेश नहीं कर सकते हैं:अपाचे HttpClient HTTP 500s throwng है, लेकिन एक ब्राउज़र
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(/* ... */);
HTTP 500 प्रतिक्रियाएं हो रही है यही कारण है कि (जैसा कि httpResp.getStatusLine().getStatusCode()
में पाया) एक विशेष यूआरएल से और अपवाद फेंकना।
बात यह है कि, जब मैं ब्राउज़र में "असफल" यूआरएल पर जाता हूं, तो यह पूरी तरह से ठीक चल रहा है।
तो मैं पूछना:
- सका
HttpClient
बाहर समय, अनुरोध-प्रतिक्रिया चक्र शॉर्ट-सर्किट, और बस मुझे एक HTTP 500 दे रही हो सकता है? - यहां और क्या हो सकता है?
HttpClient
के लिए मुझे 500s देने के लिए यह कैसे संभव है जब ब्राउजर एक ही सटीक यूआरएल के लिए पेज को पूरी तरह ठीक दिखा रहा हो?
अग्रिम धन्यवाद!
वेब ब्राउज़र से अनुरोध को डीबग करने का प्रयास करें। शायद आपकी समस्या का कारण यह है कि आप सर्वर द्वारा अपेक्षित हेडर सेट नहीं कर रहे हैं। – deadlock
आप किस सर्वर पर टक्कर मार रहे हैं? अपने आने वाले अनुरोध को देखने के लिए अनुरोध लॉगिंग चालू करें। क्या आपके पास सर्वर पर त्रुटि लॉग तक पहुंच है? यदि यह 500 लौट रहा है, तो लॉग होना चाहिए। – jalynn2
@ jalynn2 - मैं लॉगिंग अनुरोध कैसे चालू करूं? क्या यह एक HttpClient निर्माण है या आप फायरबग कंसोल जैसे कुछ के बारे में बात कर रहे हैं? – IAmYourFaja