iOS 為支援ipv6 最新 AFNetWorking 3.0 資料請求基本使用。
常用的兩種請求方式GET POST 1.requestURLString 請求網址 2.parameter POST請求引數 3.dic 為請求回來的資料
倒入標頭檔案
#import "UIKit+AFNetworking.h"
#import "AFNetworking.h"
#pragma --mark GET請求方式
AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];
manager.responseSerializer = [AFHTTPResponseSerializer
[manager GET:requestURLStringparameters:nilprogress:^(NSProgress *_Nonnull downloadProgress) {
}success:^(NSURLSessionDataTask *_Nonnull task,id_Nullable responseObject) {
NSDictionary *dic = [NSJSONSerializationJSONObjectWithData:responseObject
options:NSJSONReadingAllowFragments
error:nil];
DDLog(@"%@", dic);
block(dic);
}
failure:^(NSURLSessionDataTask *_Nullable task,NSError *_Nonnull error) {
failureBlock();
}];
#pragma --mark POST請求方式
AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];
manager.responseSerializer
[manager POST:requestURLStringparameters:parameterprogress:^(NSProgress *_Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask *_Nonnull task,id_Nullable responseObject) {
NSDictionary *dic = [NSJSONSerializationJSONObjectWithData:responseObject
options:NSJSONReadingAllowFragments
error:nil];
DDLog(@"%@", dic);
block(dic);
} failure:^(NSURLSessionDataTask *_Nullable task,NSError *_Nonnull error) {
failureBlock();
}];
}
=================================================================================
程式碼寫完以後:我們還要在修改一個類才可以支援ipv6
這個類:AFNetworkReachabilityManager
.h檔案更改之前:
+ (instancetype)managerForAddress:(constvoid *)address;
改成:
+ (instancetype)managerForAddress:(conststructsockaddr_in6*)address;
接下來更改.m檔案
更改之前:
+ (instancetype)managerForAddress:(constvoid *)address {
SCNetworkReachabilityRef reachability =SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (conststructsockaddr *)address);
AFNetworkReachabilityManager *manager = [[selfalloc]initWithReachability:reachability];
return manager;
}
更改之後:
+ (instancetype)managerForAddress:(conststructsockaddr_in6*)address {
SCNetworkReachabilityRef reachability =SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (conststructsockaddr *)address);
AFNetworkReachabilityManager *manager = [[selfalloc]initWithReachability:reachability];
CFRelease(reachability);
return manager;
}
還有一處:更改之前:
+ (instancetype)sharedManager {
staticAFNetworkReachabilityManager *_sharedManager =nil;
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedManager = [selfmanager];
});
return _sharedManager;
}
更改之後:+ (instancetype)sharedManager {
staticAFNetworkReachabilityManager*_sharedManager =nil;
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
structsockaddr_in6 address;
bzero(&address,sizeof(address));
address.sin6_len=sizeof(address);
address.sin6_family=AF_INET6;
_sharedManager = [selfmanagerForAddress:&address];
});
return _sharedManager;
}
改完這些基本就可以實現支援ipv6. AFNetWorking 3.0 下載地址: http://download.csdn.net/detail/wangqinglei0307/9769510更改以後的地址:
http://download.csdn.net/download/wangqinglei0307/9846428
相關推薦
iOS 為支援ipv6 最新 AFNetWorking 3.0 資料請求基本使用。
常用的兩種請求方式GET POST 1.requestURLString 請求網址 2.parameter POST請求引數 3.dic 為請求回來的資料 倒入標頭檔案 #import "UIKit+AFNetworking.h" #import
iOS上傳檔案或base64(圖片)之AFNetworking 3.0+上傳檔案上傳圖片
1. base64 上傳圖片 /** * 上傳圖片到伺服器 * * @param image * @param photoID * @param photoType */ - (
iOS-AFNetworking 2.0 和AFNetworking 3.0 區別及具體用法
在AFNetworking 3.0之前,底層是通過封裝NSURLConnection來實現的。 在AFNetworking 3.0之後,也就是在iOS 9.0 之後,NSURLConnection被棄用,蘋果推薦使用NSURLSession來管理網路請求,所
iOS 11下AFNetworking 3.0的AFSecurityPolicy配置
WWDC大會剛開過,我就升級了手機系統(我的iPhone是15年購買的6 Plus),iOS 11的beta版真特麼卡,建議7以下的手機不要升級了。 手機升級了,那麼開發者工具Xcoder也需要升級才
iOS開發之AFNetworking 3.0.4使用
部落格遷移到簡書一來,一直沒有時間來寫部落格了,以前的也沒有整理,這個算是簡書上的第一個部落格吧!以後有時間還是得把以前的遷移過來,畢竟都是心血啊,也有轉載的很多大神們的技術文章,捨不得丟棄呀。。。 昨天使用Cocoapods匯入AFN做POST的時候,匯入的最新版的3
AFNetworking 3.0 使用詳解 和 源碼解析實現原理
數據 syn ria 特定 style conn afn rda gre AFN原理&& AFN如何使用RunLoop來實現的: NSString * requestURL = @"http://119.254.98.136/api/v1/web/
AFNetworking 3.0遷移中不可忽略的要點
AFNetworking是一款在OS X和iOS下都令人喜愛的網路庫。為了迎合iOS新版本的升級, AFNetworking在3.0版本中刪除了基於 NSURLConnection API的所有支援。如果你的專案以前使用過這些API,建議您立即升級到基於 NSURLSession 的API的AFN
AFNetWorking 3.0 使用遇到的問題
問題一 我是做一個獲取手機驗證碼的功能,進行一個網路請求,驗證碼也發給我了,後臺的也跟我說請求成功了,但是我這邊列印資訊顯示直接進入了錯誤的回撥。。。如下圖: 驗證碼獲取返回格式問題 報錯說是返回型別不一致,後來查明原因,是返回的格式問題(雖
AFNetworking 3.0 解決加密後請求引數是字串問題
把整個請求引數的json加密生成一個字串傳給伺服器,錯誤提示:[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'; 因為請求引數不是字典、陣列、集合...等,
AFNetWorking(3.0)原始碼分析(五)——AFHTTPRequestSerializer & AFHTTPResponseSerializer
在前面的幾篇部落格中,我們分析了AFURLSessionMangerd以及它的子類AFHTTPSessionManager。我們對AF的主要兩個類,有了一個比較全面的瞭解。 對於AFHTTPSessionManager,當其在要傳送請求時,會呼叫AFHTTPRequestSerial
AFNetWorking(3.0)原始碼分析(四)——AFHTTPSessionManager(2)
在上一篇部落格中,我們分析了AFHTTPSessionManager,以及它是如何實現GET/HEAD/PATCH/DELETE相關介面的。 我們還剩下POST相關介面沒有分析,在這篇部落格裡面,我們就來分析一下POST相關介面是如何實現的。 multipart/form-data請
AFNetworking 3.0另類的總結
AFNetworking 早已進入了3.0的時代,絕大多數的APP現在都拿3.0的版本來搞一搞,3.0與2.0的區別我這裡就不扯犢子了 。。。。。扯了也白扯,今天總結下幾個另類的冷知識 1.AFNetworking 請求方式 請求方式這個需
關於IOS必須支援ipv6網路的爬坑經歷
前不久,ios稽核規定,APP一定要在ipv6的網路上執行才能通過稽核。(以本人多年的開發經驗,已經預想到前方必定有大坑!!) 於是查了一下ipv6的定義: 什麼是IPv6?
AFNetworking 3.0遷移指南
AFNetworking 3.0 AFNetworking是一款在OS X和iOS下都令人喜愛的網路庫。為了迎合iOS新版本的升級, AFNetworking在3.0版本中刪除了基於 NSURLConnection API的所有支援。如果你的專案以前使用過這些API,建
iOS應用支援IPV6,就那點事兒
果然是蘋果打個哈欠,iOS行業內就得起一次風暴呀。自從5月初Apple明文規定所有開發者在6月1號以後提交新版本需要支援IPV6-Only的網路,大家便開始熱火朝天的研究如何支援IPV6,以及應用中哪些模組目前不支援IPV6。 一、IPV6-Only支援是啥? 首
iOS App支援IPv6-only Network中的坑和解決方案
從2016年6月1號開始,蘋果強制要求上架AppStore的應用支援IPv6-only network。 本文分為兩部分:通過程式碼檢查是否相容IPv6-only網路,以及如何搭建IPv6-only網路的測試環境。旨在幫助快速檢查app是否支援IPv6-only Netw
AFNetworking 3.0+ 啟用完整、嚴格的https證書較驗參考程式碼
// 1.初始化單例類 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.securityPolicy.SSLPinningMode = AFSSLPinningM
使用AFNetworking 3.0庫進行網路請求時,取消單個佇列和全部佇列的方法(取消網路請求)
專案中有時會有這種情況,當介面正在請求資料,但資料為返回之前。返回到上一個介面,這種情況下,應取消此介面的網路請求。此篇就是為了處理此種情況下的操作,可 以取消單個請求佇
2.6 使用for迴圈遍歷檔案 2.7 使用while迴圈遍歷檔案 2.8 統計系統剩餘的記憶體 2.9 資料型別轉換計算(計算mac地址) 3.0 資料型別轉換(列表與字典相互轉換)
2.6 使用for迴圈遍歷檔案 open r:以只讀方式開啟 w: 以寫方式開啟 a: 以追加模式開啟 r+: 以讀寫模式開啟 w+: 以讀寫模式開啟(參見w) a+: 以讀寫模式開啟(參見a) rb: 以二進位制模式開啟 read 我們先寫一個檔案,叫1.txt 內容如下 111 22
xUtils更新到3.0後的基本使用規則
說實話,對於xUtils,是我最近才用到的開發框架(也是剛接觸),對於其功能不得不說,簡化了很多的開發步驟,可以說是非常好的開發工具,但是其最近更新到3.0也沒有解決載入自定義ImageView報錯的問題。我總是喜歡用一些最新的東西,xUtils 3.0才剛更新,是一次比較大