SDWebImage設(shè)置請求頭的User-Agent

前言

最近攝像頭直播的隱私安全問題頗受關(guān)注,各種隱私暴露的傳聞不絕于耳,據(jù)說都驚動了新聞聯(lián)播。而我們公司作為其中一員,難免受到了波及,于是領(lǐng)導(dǎo)召集速速開會:視頻流有木有加密,上行通道有木有,下行通道有木有加密,賬號有木有被盜的可能,有木有被抓包的可能。。。最后的結(jié)果是,新的需求,在登錄注冊模塊加登錄錯誤次數(shù)限制和圖片驗證碼驗證流程。。。

正文

閑話少說。
這次的需求在做接口測試時發(fā)現(xiàn)點小問題,請求下來的圖片驗證碼總是驗證不通過,后臺返回驗證碼錯誤。好了,又到了發(fā)揮交流能力的時候了。把相關(guān)數(shù)據(jù)發(fā)給后臺兄弟,后臺兄弟巴拉巴拉巴拉一頓查,然后告訴我請求圖片驗證碼地址的UA(User-Agent)跟下載圖片的UA不同,導(dǎo)致驗證失敗。

UA不同?我們的網(wǎng)絡(luò)請求用的AFNetWorking框架,而圖片用的SDWebImage。我們的網(wǎng)絡(luò)層對AF做了一層封裝,設(shè)置了特定的請求頭,而SD并沒有專門設(shè)置過,因為之前并沒有想到圖片也會驗證請求頭信息。好了,問題找到,那就好解決了。Just show the code。

這是設(shè)置AF請求頭的:
[_httpSessionManager.requestSerializer setValue:[self userAgent] forHTTPHeaderField:@"User-Agent"];
SD也加上:
[[SDWebImageManager sharedManager].imageDownloader setValue:[self userAgent] forHTTPHeaderField:@"User-Agent"];
這是我們的User-Agent:

- (NSString *)userAgent {
    NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey];
    NSString *appVersion = IEMIEMAPPBUILDVERSION;
    NSString *platform = stringFromDeviceVersion([SDVersion deviceVersion]);
    NSString *systemVersion = [[UIDevice currentDevice] systemVersion];
    
    NSString *userAgent =
    [NSString stringWithFormat:@"%@/%@(%@;iOS %@)", appName, appVersion, platform, systemVersion];
    
    return userAgent;
}

結(jié)語

公司什么時候才能來個做開發(fā)的妹子呢?

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

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

  • 一、基礎(chǔ)知識篇:Http Header之User-AgentUser Agent中文名為用戶代理,是Http協(xié)議中...
    iPhone閱讀 16,246評論 0 13
  • 經(jīng)過多次嘗試,模擬登錄淘寶終于成功了,實在是不容易,淘寶的登錄加密和驗證太復(fù)雜了,煞費苦心,在此寫出來和大家一起分...
    追不到的那縷風(fēng)閱讀 1,753評論 0 3
  • 常見試題 行內(nèi)元素:會在水平方向排列,不能包含塊級元素,設(shè)置width無效,height無效(可以設(shè)置line-h...
    他大舅啊閱讀 2,611評論 1 5
  • 深入淺出HTTP協(xié)議(WEB開發(fā)和面試必備) 1.基礎(chǔ)概念篇 a.簡介 HTTP是Hyper Text Trans...
    半世韶華憶闌珊閱讀 1,337評論 0 7
  • 網(wǎng)上關(guān)于cocoapods的教程很多,關(guān)于它的優(yōu)點我不贅述;但是我根據(jù)多次安裝的經(jīng)驗,把我遇到的問題寫一下,以...
    飛魚灣閱讀 117評論 0 1

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