年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2703|回复: 0

MKNetworkKit的基本用法(Get请求、Post请求、文件上传)

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2014-11-3 10:46:45 | 显示全部楼层 |阅读模式
    1、Get请求
    1. // Get请求
    2.         // 初始化网络引擎对象
    3.         MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"192.168.2.176:9502/api" customHeaderFields:nil];
    4.         
    5.         // 创建一个Get请求
    6.         MKNetworkOperation *op = [engine operationWithPath:@"login.php?userid=admin&userpwd=123" params:nil httpMethod:@"GET"];
    7.         
    8.         // 设置Get请求处理方式
    9.         [op onCompletion:^(MKNetworkOperation *operation){        // 请求成功
    10.         NSLog(@"request string: %@",[operation responseString]);
    11.         
    12.     } onError:^(NSError *error){        // 请求失败
    13.    
    14.                     NSLog(@"%@", error);
    15.    
    16.     }];
    17.         // 入列操作(发起网络请求)
    18.         [engine enqueueOperation:op];
    19.         
    复制代码
    2、Post请求
    1. // Post请求
    2.         // 初始化网络引擎对象
    3.         MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"192.168.2.176:9502/api" customHeaderFields:nil];
    4.         
    5.         // 创建请求参数
    6.         NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
    7.         [dic setValue:@"admin" forKey:@"username"];
    8.         [dic setValue:@"123" forKey:@"password"];
    9.    
    10.   // 创建一个Post请求
    11.         MKNetworkOperation *op = [engine operationWithPath:@"user.do" params:dic httpMethod:@"POST"];
    12.   
    13.   // 创建Post请求处理方式
    14.         [op onCompletion:^(MKNetworkOperation *operation){
    15.                
    16.         NSLog(@"post response string :%@",[operation responseString]);  
    17.                      
    18.     } onError:^(NSError *error) {
    19.             
    20.         NSLog(@"%@", error);
    21.     }];
    22.    
    23.   // 入列操作(发起网络请求)
    24.         [engine enqueueOperation:op];
    复制代码
    3、文件上传
    1.   // 上传操作
    2.   // 初始化网络引擎对象
    3.         MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"192.168.2.176:9502/api" customHeaderFields:nil];
    4.         
    5.         // 创建请求参数
    6.         NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"admin", @"username", @"123", @"password",nil]
    7.   
    8.   // 创建一个Post请求        
    9.         MKNetworkOperation *op = [engine operationWithPath:@"upload" params:dict httpMethod:@"POST"];  
    10.   
    11.   // 在Post请求中附件文件及指定文件类型
    12.         NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SampleImage.jpg"];
    13.         NSString *fileType = @"jpg";  
    14.         [op addFile:filePath forKey:@"media" mimeType:fileType];  
    15.       
    16.         // 设置冻结属性,可在恢复网络时自动上传  
    17.         [op setFreezable:YES];  
    18.   
    19.   // 设置上传处理方式
    20.         [op addCompletionHandler:^(MKNetworkOperation* completedOperation) {  
    21.          
    22.                         NSString *responseString = [completedOperation responseString];  
    23.                         NSLog(@"server response: %@",responseString);  
    24.                         
    25.         } errorHandler:^(MKNetworkOperation *errorOp, NSError* err){  
    26.                
    27.                         NSLog(@"Upload file error: %@", err);  
    28.                         
    29.         }];  
    30.   
    31.   // 入列操作(发起网络请求)
    32.         [engine enqueueOperation:op];  
    33.   
    34.   // 上传进度
    35.         [op onUploadProgressChanged:^(double progress) {  
    36.                           
    37.                         DLog(@"Upload file progress: %.2f", progress*100.0);  
    38.         }];
    复制代码

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-3 05:23 , Processed in 0.043891 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表