2012-03-28 36 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

相关问题