Android檢測代理


1、

System.getProperties().remove("http.proxyHost");
System.getProperties().remove("http.proxyPort");
System.getProperties().remove("https.proxyHost");
System.getProperties().remove("https.proxyPort");
沒錯,這就是移除所有代理,但問題是如果移除全部,那其他的功能就必會受一些影響,沒辦法,只能
自己去看SDK,果然,Android是提供單個接口訪問不帶代理的,不廢話,上代碼

   URL url = new URL(urlStr);
   urlConnection = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY);

嗯,很實在,然后又去看了一下OKhttp框架是否提供類似的操作,·······果然不愧是好框架:

OkHttpClient client = new OkHttpClient().newBuilder().proxy(Proxy.NO_PROXY).build();

 

2、

#pragma mark 禁止抓包方法

-(void)getProxyStatus {

NSDictionary *proxySettings = (__bridge NSDictionary *)(CFNetworkCopySystemProxySettings());

NSArray *proxies = (__bridge NSArray *)(CFNetworkCopyProxiesForURL((__bridge CFURLRef _Nonnull)([NSURL URLWithString:@"https://www.baidu.com/"]), (__bridge CFDictionaryRef _Nonnull)(proxySettings)));

NSDictionary *settings = proxies[0];

if (![[settings objectForKey:(NSString *)kCFProxyTypeKey] isEqualToString:@"kCFProxyTypeNone"]){

//檢測到抓包

}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM