में HttpParams ऑब्जेक्ट सेट करें मैं अपने कन्स्ट्रक्टर में ThreadSafeClientConnManager और HttpParams को पार करके, नया HttpClient बना रहा हूं, लेकिन यह हमेशा खराब अनुरोध त्रुटि फेंकता है। यह पता लगाने के लिए कि क्या गलत हुआ, मैंने इसे डीबग किया था लेकिन सभी व्यर्थ में थे। मुझे कुछ समाधान के साथ प्रदान यहाँ मेरी कोड ब्लॉकएचटीपी क्लाइंट 4.0
sc.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
sc.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
HttpParams basicParams = new BasicHttpParams();
ThreadSafeClientConnManager connmgr = new ThreadSafeClientConnManager(basicParams, sc);
ConnManagerParams.setMaxConnectionsPerRoute(
basicParams,
// if we have more than 5 concurrent leads, good problem to have
new ConnPerRoute() {
public int getMaxForRoute(HttpRoute httproute) {
return 5;
}
});
g_client = new DefaultHttpClient(connmgr, basicParams);
// It's a lead, be forgiving with timeout
g_client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000);
g_client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);
ConnManagerParams.setTimeout(basicParams, 2000);
जब मैं अपने कोड यह है में g_client.execute(postMethod);
फोन है 400 स्थिति कोड का अर्थ कुछ मेरे अनुरोध के साथ गलत है पता चलता है। अगर मैं अपने DefaultHttpClient निर्माता
g_client = new DefaultHttpClient(connmgr, null);
ग्राहक को सफलतापूर्वक क्रियान्वित करने में अशक्त गुजरती हैं, लेकिन यह सही तरीके से मैं बुनियादी परम सेट maxconnectionperroute
की जरूरत के रूप में नहीं है। मैंने यहां संदिग्ध कोड पेस्ट किया था। कृपया एक नज़र डालें और मेरी मदद करें। मैं यहाँ फंस गया हूँ।
मैं HttpClient 4.0 संस्करण का उपयोग कर रहा हूं।
कोई विशेष कारण है कि आप अपाचे HttpClient के इस तरह के पुराने संस्करण का उपयोग कर रहे हैं? – oleg
सिर्फ एक कारण है क्योंकि मैं वेबस्पेयर सर्वर का उपयोग कर रहा हूं (सटीक संस्करण नहीं जानता) जो केवल इस httpclient संस्करण का समर्थन करता है। –