在Android中,判断用户开启了代理则禁止用户调用接口,是我们用来避免应用被抓包的一个好办法,那么如何在代码中判断是否开启了代理呢:
/**
* 是否开启了代理
*
* @return
*/
public static boolean checkWifiProxy() {
String proxyAddress = System.getProperty("http.proxyHost");
int proxyPort = 0;
String portStr = System.getProperty("http.proxyPort");
if (!TextUtils.isEmpty(portStr)) {
proxyPort = Integer.parseInt(portStr);
}
LogUtil.logD("ProxyUtil", "地址:" + proxyAddress + " 端口:" + proxyPort);
boolean wifiProxy = !TextUtils.isEmpty(proxyAddress) && proxyPort != 0;
return wifiProxy;
}
在项目中,我们可以在需要的时候调用此方法,如果返回了true,则表示用户的设备开启了代理,我们可以进行错误提示,这样可以避免用户通过代理抓包我们的程序了。