iOS 网络请求(POST/GET) 系统、AFNetworking,MKNetwork
2015-05-15 23:08
489 查看
1. iOS 系统请求
(1) POST:同步
NSString* requestUrlString = kAPI; NSURL *baseURL = [NSURL URLWithString:[requestUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:baseURL]; [request setHTTPMethod:@"POST"]; NSString *postString =@"timestamp=参数1&channel=参数2&product=参数3..."; [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; request.timeoutInterval = 30; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSURL *baseURL = [NSURL URLWithString:[requestUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:baseURL]; [request setHTTPMethod:@"GET"]; request.timeoutInterval = 30; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
(2) GET:同步
NSURL *baseURL = [NSURL URLWithString:[requestUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:baseURL]; [request setHTTPMethod:@"GET"]; request.timeoutInterval = 30; NSHTTPURLResponse *response = nil; NSError *error = nil; NSData *respData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
2.AFNetworking
(1) POST:异步
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:@"参数1",timestamp,@"参数2",channel,@"参数3",product,... nil]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:api parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { //成功处理 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //失败处理 }];
(2) GET:异步
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:@"参数1",timestamp,@"参数2",channel,@"参数3",product,... nil] AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager GET:api parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { //成功处理 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //失败处理 }];
3.MKNetworking
(1)POST:异步
MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:URL_API]; MKNetworkOperation *op = [engine operationWithURLString:[requestUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] params:params httpMethod:@"POST"]; [op addData:data forKey:@"imgFile" mimeType:@"multipart/form-data" fileName:@"thumbnail.png"]; [op onCompletion:^(MKNetworkOperation *completedOperation) { //成功 } onError:^(NSError *error) { //失败 }]; [engine enqueueOperation:op];
(2) GET:异步
MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:URL_API]; MKNetworkOperation *op = [engine operationWithURLString:[requestUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] params:params httpMethod:@"GET"]; [op onCompletion:^(MKNetworkOperation *completedOperation) { //成功 } onError:^(NSError *error) { //失败 }]; [engine enqueueOperation:op];
相关文章推荐
- iOS开发:GET与POST接口网络请求以及对AFNetworking的二次封装
- iOS网络请求总结、GET、POST、同步、异步代码块、异步代理、第三方AFNetWorking2.0使用
- iOS-使用NSURLConnection进行Http Get和Post请求网络数据
- iOS笔记网络--get请求和post请求
- iOS网络请求GET&POST,同步&异步
- iOS 网络请求数据 同步请求、异步请求、GET、POST请求
- IOS网络请求(同步GET,同步POST,异步GET,异步POST)
- iOS中网络请求的使用(GET请求与POST请求)
- IOS开发 网络详解(三)--- Http请求报文和响应报文(Get和Post)
- iOS网络编程————POST请求和GET请求
- iOS网络开发—POST请求和GET请求
- 【iOS开发-网络】使用NSURLSessionDataTask发送get和post请求
- ios网络请求 get——post 区别
- iOS开发网络学习七:NSURLSession的基本使用get和post请求
- 深度解析ios网络请求 get——post 区别
- AFNetworking网络请求的get和post步骤
- iOS网络请求GET方式与POST方式
- IOS开发—网络请求之GET/POST同步请求
- iOS网络编程开发GET请求和POST请求
- ios网络学习------1get post异步请求