पर पंजीकृत नहीं है, मैं एचटीटीपीएस अनुरोधों के लिए एचटीपी क्लाइंट का उपयोग कर रहा हूं, जिसने अभी तक ठीक काम किया है। आईसीएस में अपग्रेड करने के बाद, कुछ उपयोगकर्ता 3 जी कनेक्शन से कनेक्ट होने वाली समस्याओं की रिपोर्ट कर रहे हैं।एंड्रॉइड: योजना 'http' आईसीएस 4.0.4 डब्ल्यू/प्रॉक्सी
संपादित करें: उनमें से अधिकतर प्रॉक्सी का उपयोग कर रहे हैं, और मैं इसे स्थानीय रूप से अपने प्रॉक्सी का उपयोग कर टी-मोबाइल सिम के साथ पुन: उत्पन्न कर सकता हूं।
लॉग यह स्टैक ट्रेस है:
java.lang.IllegalStateException: Scheme 'http' not registered.
org.apache.http.conn.scheme.SchemeRegistry.getScheme(SchemeRegistry.java:80)
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:126)
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
हमारे अंत बिंदु को केवल HTTPS का है, इसलिए हम उद्देश्य पर हमारे SchemeRegistry में एक HTTP endpoint रजिस्टर नहीं है। कहीं भी नहीं है (AFAIK) जहां हम HTTP पर रीडायरेक्ट करते हैं।
DefaultHttpClient ret = null;
// sets up parameters
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "utf-8");
params.setBooleanParameter("http.protocol.expect-continue", false);
HttpConnectionParams.setConnectionTimeout(params, DEFAULT_CONN_TIMEOUT_MSEC);
HttpConnectionParams.setSoTimeout(params, timeoutMsec);
HttpConnectionParams.setStaleCheckingEnabled(params, true);
SchemeRegistry registry = new SchemeRegistry();
final SocketFactory sslSocketFactory = getPreferredSSLSocketFactory();
registry.register(new Scheme("https", sslSocketFactory, 443));
ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry);
ret = new DefaultHttpClient(manager, params);
// for preemptive authentication
// http://dlinsin.blogspot.com/2009/08/http-basic-authentication-with-android.html
ret.addRequestInterceptor(preemptiveAuth, 0);
ret.setCookieStore(communalCookieJar);
SimpleCredentialsProvider credProvider = new SimpleCredentialsProvider(getAccountPreferences());
ret.setCredentialsProvider(credProvider);
return ret;
नोट::
यहाँ कोड है कि HTTPS ग्राहक के लिए HttpClient सेट करता है हम एक से अधिक थ्रेड के बीच इस HttpClient उदाहरण साझा करें।
BYPASS_PROXY क्या है? हम हमेशा इस मार्ग योजनाकार का उपयोग क्यों नहीं कर सकते? क्या यह समाधान सुरक्षित है (उदा। क्या यह अभी भी https का उपयोग करेगा)? –
आप कोड चाल है। यह सिर्फ 3 जी (टेलरॉर, स्वीडन) पर मेरे लिए अचानक शुरू हुआ। क्या यह हमेशा होने के साथ कोई संभावित समस्या है ?? – apanloco
तो क्या हमेशा इसे रखने में कोई समस्या है? –