2012-03-28 50 views
6

我正在開發一個Android應用程序,並在設備上4.0(ics)應用程序工作正常連接到HTTP和https後端WiFi和3G數據連接。但在我的ICS 4.0.3設備上,該應用只能通過WiFi連接到https(它可以很好地連接到WiFi和3G上的http)。我意識到通過手動轉到APN設置並刪除代理,我的應用可以通過3G連接到https後端。所以我的問題是如何強制httpclient不是通過代碼使用代理設置?謝謝如何強制我的應用程序不使用3G數據代理設置

+4

好,因爲我不能自答案..以下是我解決我的問題 HttpHost代理=新HttpHost(ConnRouteParams.NO_HOST); HttpClient client = new DefaultHttpClient(params); client.getParams()。setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy); 希望它可以幫助那裏的人。 – 2012-03-28 12:02:05

+0

這適用於我,但我不太瞭解它 - 不使用代理有什麼缺點嗎?代理的目的是什麼? – 2012-07-31 01:46:03

+0

我想這隻會在代理服務器正在使用某些內部網絡或其他東西時才起作用。對於需要數據代理的運營商,這可能不起作用? – Dori 2013-04-05 17:03:13

回答

4

首先,謝謝酷老兄自己回答你的問題。我有同樣的問題,但沒有使用HttpClient,而是直接使用HttpURLConnection。 在這種情況下,解決辦法是:

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

你是否爲所有平臺設置了NO_PROXY,或者只爲4.0.3/4.0.4設置了NO_PROXY? – 2013-02-12 15:15:15

+1

僅適用於SSL連接,但適用於所有平臺。奇蹟般有效。 – mdiener 2013-02-12 18:22:46

相關問題