因为抓包是需要在手机上的wifi设置一个代理,所以防抓包的的策略就是,在访问数据前加入一个判断,如果手机使用了wifi代理,不访问数据,否则访问。
if(isWifiProxy()){ //true,使用了wifi代理
//不做访问操作
}else{ //flase,正常用户,未使用wifi代理
//访问数据
}
注意:不足之处就是,一刀切,部分使用代理的用户会访问不了数据,但这只是少部分
public static boolean isWifiProxy() { 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); } return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1); }