App 防止 Fiddler、Charles等代理工具 抓包

/**
 * 判断是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 进行抓包。

 

你可能感兴趣的:(App 防止 Fiddler、Charles等代理工具 抓包)