iOS開發(fā)之AFNetworking 3.0.4使用

GET請(qǐng)求

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

[manager GET:URL parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

}

success:^(NSURLSessionDataTask * _Nonnull task, id? _Nullable responseObject) {

NSLog(@"這里打印請(qǐng)求成功要做的事");

}

failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull? error) {

NSLog(@"%@",error);? //這里打印錯(cuò)誤信息

}];

POST 請(qǐng)求

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

NSMutableDictionary *parameters = @{@"":@"",@"":@""};

[manager POST:URL parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {

} success:^(NSURLSessionDataTask * _Nonnull task, id? _Nullable responseObject) {

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

}];

AFN3.0下載方法

/**

*? AFN3.0 下載

*/

- (void)downLoad{

//1.創(chuàng)建管理者對(duì)象

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

//2.確定請(qǐng)求的URL地址

NSURL *url = [NSURL URLWithString:@""];

//3.創(chuàng)建請(qǐng)求對(duì)象

NSURLRequest *request = [NSURLRequest requestWithURL:url];

//下載任務(wù)

NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {

//打印下下載進(jìn)度

WKNSLog(@"%lf",1.0 * downloadProgress.completedUnitCount / downloadProgress.totalUnitCount);

} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {

//下載地址

WKNSLog(@"默認(rèn)下載地址:%@",targetPath);

//設(shè)置下載路徑沪曙,通過沙盒獲取緩存地址,最后返回NSURL對(duì)象

NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];

return [NSURL fileURLWithPath:filePath];

} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {

//下載完成調(diào)用的方法

WKNSLog(@"下載完成:");

WKNSLog(@"%@--%@",response,filePath);

}];

//開始啟動(dòng)任務(wù)

[task resume];

}

AFN3.0 上傳


//第一種方法是通過工程中的文件進(jìn)行上傳

- (void)upLoad1{? ?

?//1狞膘。創(chuàng)建管理者對(duì)象? ??

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];? ??

//2.上傳文件??

? NSDictionary *dict = @{@"username":@"1234"};??

? NSString *urlString = @"22222";? ?

?[manager POST:urlString parameters:dict constructingBodyWithBlock:^(id_Nonnull formData) {

//上傳文件參數(shù)

UIImage *iamge = [UIImage imageNamed:@"123.png"];

NSData *data = UIImagePNGRepresentation(iamge);

//這個(gè)就是參數(shù)

[formData appendPartWithFileData:data name:@"file" fileName:@"123.png" mimeType:@"image/png"];

} progress:^(NSProgress * _Nonnull uploadProgress) {

//打印下上傳進(jìn)度

WKNSLog(@"%lf",1.0 *uploadProgress.completedUnitCount / uploadProgress.totalUnitCount);

} success:^(NSURLSessionDataTask * _Nonnull task, id? _Nullable responseObject) {

//請(qǐng)求成功

WKNSLog(@"請(qǐng)求成功:%@",responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

//請(qǐng)求失敗

WKNSLog(@"請(qǐng)求失斝颉:%@",error);

}];

}

//第二種是通過URL來獲取路徑系吩,進(jìn)入沙盒或者系統(tǒng)相冊(cè)等等

- (void)upLoda2{?

?? //1.創(chuàng)建管理者對(duì)象? ?

?AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];? ?

?//2.上傳文件??

? NSDictionary *dict = @{@"username":@"1234"};? ??

NSString *urlString = @"22222";??

? [manager POST:urlString parameters:dict constructingBodyWithBlock:^(id_Nonnull formData) {

[formData appendPartWithFileURL:[NSURL fileURLWithPath:@"文件地址"] name:@"file" fileName:@"1234.png" mimeType:@"application/octet-stream" error:nil];

} progress:^(NSProgress * _Nonnull uploadProgress) {

//打印下上傳進(jìn)度

WKNSLog(@"%lf",1.0 *uploadProgress.completedUnitCount / uploadProgress.totalUnitCount);

} success:^(NSURLSessionDataTask * _Nonnull task, id? _Nullable responseObject) {

//請(qǐng)求成功

WKNSLog(@"請(qǐng)求成功:%@",responseObject);

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

//請(qǐng)求失敗

WKNSLog(@"請(qǐng)求失敗:%@",error);

}];

}

監(jiān)測(cè)當(dāng)前網(wǎng)絡(luò)狀態(tài)(網(wǎng)絡(luò)監(jiān)聽)

- (void)AFNetworkStatus{

//1.創(chuàng)建網(wǎng)絡(luò)監(jiān)測(cè)者

AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

/* 枚舉里面四個(gè)狀態(tài)? 分別對(duì)應(yīng) 未知 無(wú)網(wǎng)絡(luò) 數(shù)據(jù) WiFi

typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {

AFNetworkReachabilityStatusUnknown? ? ? ? ? = -1,? ? ? 未知

AFNetworkReachabilityStatusNotReachable? ? = 0,? ? ? 無(wú)網(wǎng)絡(luò)

AFNetworkReachabilityStatusReachableViaWWAN = 1,? ? ? 蜂窩數(shù)據(jù)網(wǎng)絡(luò)

AFNetworkReachabilityStatusReachableViaWiFi = 2,? ? ? WiFi

}; ?*/

[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

//這里是監(jiān)測(cè)到網(wǎng)絡(luò)改變的block? 可以寫成switch方便

//在里面可以隨便寫事件

switch (status) {

case AFNetworkReachabilityStatusUnknown:

WKNSLog(@"未知網(wǎng)絡(luò)狀態(tài)");

break;

case AFNetworkReachabilityStatusNotReachable:

WKNSLog(@"無(wú)網(wǎng)絡(luò)");

break;

case AFNetworkReachabilityStatusReachableViaWWAN:

WKNSLog(@"蜂窩數(shù)據(jù)網(wǎng)");

break;

case AFNetworkReachabilityStatusReachableViaWiFi:

WKNSLog(@"WiFi網(wǎng)絡(luò)");

break;

default:

break;

}

}] ;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缎谷,一起剝皮案震驚了整個(gè)濱河市隧熙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌睬魂,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镀赌,死亡現(xiàn)場(chǎng)離奇詭異氯哮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)商佛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門喉钢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人良姆,你說我怎么就攤上這事肠虽。” “怎么了玛追?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵税课,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我痊剖,道長(zhǎng)韩玩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任陆馁,我火速辦了婚禮找颓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叮贩。我一直安慰自己击狮,他們只是感情好佛析,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著彪蓬,像睡著了一般寸莫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寞焙,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天储狭,我揣著相機(jī)與錄音,去河邊找鬼捣郊。 笑死辽狈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呛牲。 我是一名探鬼主播刮萌,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼娘扩!你這毒婦竟也來了着茸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤琐旁,失蹤者是張志新(化名)和其女友劉穎涮阔,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灰殴,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敬特,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了牺陶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伟阔。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖掰伸,靈堂內(nèi)的尸體忽然破棺而出皱炉,到底是詐尸還是另有隱情,我是刑警寧澤狮鸭,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布合搅,位于F島的核電站,受9級(jí)特大地震影響怕篷,放射性物質(zhì)發(fā)生泄漏历筝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一廊谓、第九天 我趴在偏房一處隱蔽的房頂上張望梳猪。 院中可真熱鬧,春花似錦、人聲如沸春弥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)匿沛。三九已至扫责,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逃呼,已是汗流浹背鳖孤。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抡笼,地道東北人苏揣。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像推姻,于是被迫代替她去往敵國(guó)和親平匈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容