[iOS 多线程 & 网络 - 2.9] - ASI框架
1 /** get请求 */ 2 - (void)sendByGet{ 3 // 创建请求 4 NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"]; 5 ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 6 7 // 设置请求 8 request.timeOutSeconds = 10; // 超时时间 9 request.delegate = self; 10 11 // 使用selector处理请求返回数据 12 [request setDidStartSelector:@selector(startRequest)]; 13 14 // 发送请求 15 [request startSynchronous]; // 同步请求 16 } 17 18 /** 请求开始 */ 19 - (void) startRequest 20 NSLog(@"请求开始") 21 }
1 #pragma mark - POST 2 - (void) sendByPost { 3 // 创建请求 4 NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login"]; 5 self.request = [ASIHTTPRequest requestWithURL:url]; 6 7 // 设置请求方法 8 self.request.requestMethod = @"POST"; 9 10 // 设置请求体 11 [self.request appendPostData:[@"name=tom&password=123" dataUsingEncoding:NSUTF8StringEncoding]]; 12 // [self.request setPostLength:self.request.postBody.length]; 13 // [self.request addRequestHeader:[NSString stringWithFormat:@"%d", self.request.postBody.length] value:@"Content-Length"]; 14 // [self.request addRequestHeader:@"application/x-www-form-urlencoded" value:@"Content-Type"]; 15 16 self.request.completionBlock = ^ { 17 NSLog(@"请求完毕"); 18 }; 19 // 发送请求 20 [self.request startAsynchronous]; 21 }
1 - (void) sendByPost2 { 2 // 创建请求 3 NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login"]; 4 self.formRequest = [ASIFormDataRequest requestWithURL:url]; 5 6 // 添加请求参数 7 [self.formRequest addPostValue:@"tom" forKey:@"user"]; 8 [self.formRequest addPostValue:@"123" forKey:@"password"]; 9 10 self.formRequest.completionBlock = ^ { 11 NSLog(@"请求完毕"); 12 }; 13 14 // 发送请求 15 [self.formRequest startAsynchronous]; 16 }
1 // 发送请求 2 [request startSynchronous]; // 同步请求 3 // [request startAsynchronous]; // 异步请求
- request.error
- request.responseStatusCode
- request.responseStatusMessage
- request.responseData
- request.responseString
1 if (request.error) { 2 NSLog(@"请求出错"); 3 }
1 /** get请求 */ 2 - (void)sendByGet{ 3 // 创建请求 4 NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"]; 5 ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 6 7 // 设置请求 8 request.delegate = self; 9 // 发送请求 10 [request startAsynchronous]; // 异步请求 11 } 12 13 #pragma mark - ASIHTTPRequestDelegate 14 /** 使用代理处理请求事件 */ 15 - (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data { 16 NSLog(@"正在接受数据"); 17 } 18
1 /** get请求 */ 2 - (void)sendByGet{ 3 // 创建请求 4 NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"]; 5 ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 6 7 // 设置请求 8 request.delegate = self; 9 10 // 使用selector处理请求事件 11 [request setDidStartSelector:@selector(startRequest)]; 12 // 发送请求 13 [request startAsynchronous]; // 异步请求 14 } 15 16 /** 请求开始 */ 17 - (void) startRequest { 18 NSLog(@"请求开始"); 19 }
1 /** get请求 */ 2 - (void)sendByGet{ 3 // 创建请求 4 NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"]; 5 ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 6 7 // 设置请求 8 request.timeOutSeconds = 10; // 超时时间 9 request.delegate = self; 10 11 // 使用block处理请求事件 12 [request setCompletionBlock:^{ 13 NSLog(@"请求完成!"); 14 }]; 15 16 // 发送请求 17 [request startAsynchronous]; // 异步请求 18 }
1 @interface ViewController () <ASIHTTPRequestDelegate> 2 @property(nonatomic, strong) ASIHTTPRequest *request; 3 @end 4 5 #pragma mark - dealloc 6 /** 控制器销毁之前,一定要取消、清除成员request代理 */ 7 - (void)dealloc { 8 [self.request clearDelegatesAndCancel]; 9 self.request = nil; 10 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。