App判断系统是否开启代理(防抓包)
iOS 端:
- (void)checkHTTPEnable {
NSDictionary * ref = (__bridge NSDictionary *)CFNetworkCopySystemProxySettings();
BOOL enable = [[ref objectForKey:@"HTTPEnable"] boolValue];
if (enable) {
NSLog(@"开启了代理");
}else {
NSLog(@"没开代理");
}
}
Android 端:
/*
* 判断设备 是否使用代理上网
*/
private 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);
}
return (!TextUtils.isEmpty(proxyAddress)) && (proxyPort != -1);
}
在网络数据请求之前,进行代理是否设置的判断。如果监听到手机系统打开了代理,我们就停止后面的数据请求操作,这样可以解决我们用户的数据不被其他不法手段获取。
Link: