2012-03-28 15 views
6

Pracuję nad aplikacją na Androida i na urządzeniach pre 4.0 (ics) aplikacja działa dobrze łącząc się z serwerami http i https w sieciach WiFi i 3G. Ale na moim urządzeniu ICS 4.0.3 aplikacja TYLKO łączy się z https przez Wi-Fi (łączy się dobrze z http zarówno w sieciach Wi-Fi, jak i 3G). Zdałem sobie sprawę, że ręcznie przechodząc do ustawień APN i usuwania proxy, moja aplikacja może połączyć się z serwerem https przez 3g. Więc moje pytanie brzmi: jak mogę wymusić httpclientNOT używać ustawień proxy za pomocą kodu? Dziękijak zmusić moją aplikację NIE do korzystania z ustawienia proxy danych 3g

+4

dobrze ponieważ nie mogę siebie odpowiedź .. Oto jak rozwiązać mój problem HttpHost proxy = new HttpHost (ConnRouteParams.NO_HOST); Klient HttpClient = new DefaultHttpClient (parametry); client.getParams(). SetParameter (ConnRoutePNames.DEFAULT_PROXY, proxy); Mam nadzieję, że pomaga komuś tam. –

+0

To działa dla mnie, ale nie rozumiem zbyt wiele - czy jest jakaś wada, aby nie używać proxy? Jaki jest cel proxy? –

+0

Wyobrażam sobie, że działałoby to tylko wtedy, gdy proxy używa niektórych sieci wewnętrznych. W przypadku przewoźników, dla których dane są wymagane przez proxy, może to nie działać? – Dori

Odpowiedz

4

Przede wszystkim dzięki Cool Dude za udzielenie odpowiedzi na swoje pytanie. Miałem ten sam problem, ale nie korzystałem bezpośrednio z HttpClient, lecz zamiast HttpURLConnection. W tym przypadku rozwiązanie jest następujące:

myUrl.openConnection(java.net.Proxy.NO_PROXY); 
+0

Czy ustawiasz NO_PROXY dla wszystkich platform lub tylko dla wersji 4.0.3/4.0.4? –

+1

Tylko dla połączeń SSL, ale dla wszystkich platform. Działa jak marzenie. – mdiener

Powiązane problemy