connectionProxyDictionary 筆記

我的 博客地址

最近研究了下 connectionProxyDictionary,做一個簡單的筆記。官方文檔是這么描述的。

This property controls which proxy tasks within sessions based on this configuration use when connecting to remote hosts.
The default value is NULL, which means that tasks use the default system settings.

這個屬性可以設置網(wǎng)絡代理,默認值是 NULL,使用系統(tǒng)的代理設置。

有一個比較巧妙的用法,可以通過設置為空字典可以禁止代理抓包(charles、fiddler等)。

上代碼。

NSString* proxyHost =  @"192.168.12.23";//@"myProxyHost.com";
NSNumber* proxyPort = [NSNumber numberWithInt: 12345];


// 創(chuàng)建一個代理服務器,包括HTTP或HTTPS代理,當然還可以添加SOCKS,FTP,RTSP等
NSDictionary *proxyDict = @{
    (NSString *)kCFNetworkProxiesHTTPEnable  : [NSNumber numberWithInt:1],
    (NSString *)kCFNetworkProxiesHTTPProxy: proxyHost,
    (NSString *)kCFNetworkProxiesHTTPProxyPort: proxyPort,

    (NSString *)kCFNetworkProxiesHTTPSEnable : [NSNumber numberWithInt:1],
    (NSString *)kCFNetworkProxiesHTTPSProxy: proxyHost,
    (NSString *)kCFNetworkProxiesHTTPSProxyPort: proxyPort,
};

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
// 設置代理
configuration.connectionProxyDictionary = proxyDict;

// 禁止代理
configuration.connectionProxyDictionary = @{};

參考資料

1、Apple 文檔
2、How to programmatically add a proxy to an NSURLSession

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容