麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

IOS開發(fā)之AFNetworking開源庫(kù)的使用

2019-11-14 19:13:47
字體:
供稿:網(wǎng)友

IOS開發(fā)之AFNetworking開源庫(kù)的使用

1.簡(jiǎn)介

  常見的處理網(wǎng)絡(luò)請(qǐng)求方式

  (1)NSURLConnection/NSURLsession

  (2)ASIHttPRequest 早期項(xiàng)目中比較常見, 由于作者不更新了

  (3)AFNetworking 推薦使用, 項(xiàng)目中使用

  (4)MKNetworkKit 試試

2.配置和使用

  2.1 配置 

    庫(kù)文件拖入工程中, 包含頭文件 

    #import "AFNetworking.h"

  2.2 使用

     2.2.1.GET請(qǐng)求(html,jsonxml

-(void)testGetRequest{        NSString *urlstring = @"http://www.baidu.com";    urlstring = @"http://m.weather.com.cn/data/101010100.html";    urlstring = @"http://mp.manzuo.com/china/beijing/home_2.xml";        //定義AFNetworking管理    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //注意:默認(rèn)數(shù)據(jù)是JSON,content-type也是JSON,responSEObject是解析字典和數(shù)組,不是產(chǎn)生錯(cuò)誤Code=-1016    //解決:設(shè)置解析器為HTTP形式,下載回來是NSData    manager.responseSerializer = [AFCompoundResponseSerializer serializer];        [manager GET:urlstring parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {//        responseObject重要參數(shù),包含下載數(shù)據(jù)//        NSLog(@"o = %@",responseObject);                NSString *str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];        NSLog(@"str = %@",str);            } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        NSLog(@"error = %@",error);    }];}
testGetRequest

     2.2.2.POST請(qǐng)求

-(void)testPostRequest{    //POST接口:    //參數(shù)1:@"user" : @"quiet"    //參數(shù)2:@"passWord" : @"123"        NSString *urlString = @"http://quiet.local/testdir/login.php";        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    manager.responseSerializer = [AFCompoundResponseSerializer serializer];        //參數(shù)1:傳入地址    //參數(shù)2:傳入U(xiǎn)RL請(qǐng)求的參數(shù),格式傳入字典    [manager POST:urlString parameters:@{@"user": @"quiet",@"password" : @"123"} success:^(AFHTTPRequestOperation *operation, id responseObject) {         NSString *str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];        NSLog(@"str = %@",str);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        NSLog(@"error = %@",error);    }];}
testPostRequest

     2.2.3.上傳文件(上傳圖片)

-(void)testUploadFile{        //POST上傳的接口    NSString *urlString = @"http://quiet.local/uploadtest/pk.php";    //參數(shù)名:image : 參數(shù)值是圖片    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    manager.responseSerializer = [AFCompoundResponseSerializer serializer];        [manager POST:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {        NSString *path = [[NSBundle mainBundle]pathForResource:@"daji.jpg" ofType:nil];                [formData appendPartWithFileURL:[NSURL URLWithString:path] name:@"image" fileName:@"666.jpg" mimeType:@"image/jpeg" error:nil];    } success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSString *str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];        NSLog(@"str = %@",str);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {         NSLog(@"error = %@",error);    }];            [manager POST:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {                //實(shí)現(xiàn):上傳的數(shù)據(jù)附加到請(qǐng)求體中        //fileName:上傳后的文件名        //mimeType:需要上網(wǎng)搜索mime,把相應(yīng)的格式復(fù)制過來        NSString *path = [[NSBundle mainBundle]pathForResource:@"daji.jpg" ofType:nil];            [formData appendPartWithFileURL:[NSURL fileURLWithPath:path] name:@"image" fileName:@"666.jpg" mimeType:@"image/jpeg" error:nil];                } success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSString *str = [[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding];        NSLog(@"str = %@",str);    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        NSLog(@"error = %@",error);    }];    }
testUploadFile

 

     2.2.4.下載文件

-(void)testDownloadFile{    NSString *urlString = @"http://imgcache.QQ.com/club/item/avatar/zip/7/i87/all.zip";        //創(chuàng)建會(huì)話管理對(duì)象(通過默認(rèn)配置)    AFURLSessionManager *manager = [[AFURLSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];    NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {                //返回文件保存的位置        NSString *path = [NSString stringWithFormat:@"%@/Documents/all.zip",NSHomeDirectory()];        NSLog(@"%@",NSHomeDirectory());        return [NSURL fileURLWithPath:path];            } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {        NSLog(@"下載完成");    }];        //啟動(dòng)任務(wù)    [task resume];    }
testDownloadFile

     2.2.5.監(jiān)控網(wǎng)絡(luò)狀態(tài)

-(void)testMonitorNetworkStatus{        AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]initWithBaseURL:[NSURL URLWithString:@"www.baidu.com"]];    [manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {        NSDictionary *dict = @{            @(AFNetworkReachabilityStatusUnknown): @"未知",            @(AFNetworkReachabilityStatusNotReachable): @"不可達(dá)",            @(AFNetworkReachabilityStatusReachableViaWWAN): @"GPRS",            @(AFNetworkReachabilityStatusReachableViaWiFi): @"Wifi",            };        NSLog(@"狀態(tài)為 %@",dict[@(status)]);            }];    //開啟狀態(tài)監(jiān)視    [manager.reachabilityManager startMonitoring];}
testMonitorNetworkStatus

     2.2.6.圖片異步功能(替代SDWebImage

          導(dǎo)入頭文件

          #import "UIKit+AFNetworking.h"

          - (void)setImageWithURL:(NSURL *)url;

     2.2.7.有一些特殊的請(qǐng)求頭

         BAIDU_WISE_UID=wapp_1428385381699_466;

         AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];  

         [manager.requestSerializer setValue:@"wapp_1428385381699_466" forHTTPHeaderField:@"BAIDU_WISE_UID"]; 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品视频不卡 | 羞羞视频免费网站含羞草 | 免费国产在线精品 | 免费国产在线精品 | 成人福利免费在线观看 | 久久国精品 | 亚洲特黄a级毛片在线播放 久久久入口 | 亚洲第一色婷婷 | 国产精品成人久久 | 国产一区二区二 | 精品成人av一区二区在线播放 | 国产99久久久久久免费看 | 久久综合综合 | 欧美黄色大片免费观看 | 色吧久久| 中日韩免费视频 | 得得啪在线 | 亚洲精品午夜视频 | 亚洲国产美女视频 | 极色品影院 | 爱高潮www亚洲精品 欧美黄色一级片视频 | 99成人在线| 日韩蜜桃视频 | 国产欧美在线观看不卡一 | 久久久婷婷一区二区三区不卡 | 国产精品久久久久久久久粉嫩 | 2级毛片| 激情在线视频 | 久久精品高清 | 自拍偷拍999 | 国产成年人网站 | 婷婷中文字幕一区二区三区 | 欧美一区二区片 | 久久久久久久久久久综合 | 在线观看免费毛片视频 | 成人性生活视频在线播放 | 国产喷白浆10p | 日本在线视频二区 | 久久久久久久久久一本门道91 | 娇妻被各种姿势c到高潮小说 | free性欧美hd另类 |