/** * 判断是APP是否使用代理 * @param context * @return */ public static boolean isWifiProxy(Context context) { final boolean IS_ICS_OR_LATER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH; String proxyAddress; int proxyPort; if (IS_ICS_OR_LATER) { proxyAddress = System.getProperty("http.proxyHost"); String portStr = System.getProperty("http.proxyPort"); proxyPort = Integer.parseInt((portStr != null ? portStr : "-1")); } else { proxyAddress = android.net.Proxy.getHost(context); proxyPort = android.net.Proxy.getPort(context); } Log.i("代理信息","proxyAddress :"+proxyAddress + "prot : " proxyPort") return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1); }
这样就可以进行友好提示了
使用okhttp
okhttp 提供了设置代理的方法,设置成无代理的模式即可.
OkHttpClient.Builder okHttpClient = new OkHttpClient.Builder(); okHttpClient.proxy(Proxy.NO_PROXY);
这里我们设置不使用代理的模式,就会忽略掉代理,直接发送网络请求。这样就能阻止第三方使用 Fiddler 或 Charles 进行抓包。