1 引入头文件
#import "ASIHTTPRequest.h"
#import "ASIHTTPRequestDelegate.h"
#import "JSONKit.h"
2 创建请求
NSURL *postUrl = [NSURL URLWithString:@"INPUT YOUR URL STRING"];
NSLog(@"postUrl = %@", postUrl);
ASIHTTPRequest *request = [[ASIHTTPRequest alloc]initWithURL:postUrl];
request.delegate = self;//注意:需要实现协议<ASIHTTPRequestDelegate>
request.requestMethod = @"POST";//发送方式
[request startAsynchronous];//发送异步请求
3 响应请求结果
#pragma mark - ASIHTTPRequest,请求数据成功
-(void)requestFinished:(ASIHTTPRequest *)request{
NSLog(@"请求数据成功");
@try{
//Use when fetching binary data
NSData *data = request.responseData;
NSLog(@"data = %@", data);
NSString *str1 = [request responseString];
NSLog(@"str1 = %@", str1);
NSString *str2 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"str2 = %@", str2);
//系统自带JSON解析
NSDictionary *dic1 = [NSJSONSerialization JSONObjectWithData:request.responseData options:NSJSONReadingMutableContainers error:nil];
NSLog(@"dic1 = %@", dic1);
//JSONKit解析
NSDictionary *dic2 = [request.responseData objectFromJSONData];
NSLog(@"dic2 = %@", dic2);
NSDictionary *dic3 = [str1 objectFromJSONString];
NSLog(@"dic3 = %@", dic3);
//系统自带JSON解析
NSArray *arr1 = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSLog(@"arr1 = %@", arr1);
//JSONKit解析
NSArray *arr2 = [request.responseData objectFromJSONData];
NSLog(@"arr2 = %@", arr2);
NSArray *arr3 = [str1 objectFromJSONString];
NSLog(@"arr3 = %@", arr3);
NSArray *arr4 = [[NSArray alloc] initWithObjects:data, nil];
NSLog(@"arr4 = %@", arr4);
//...
}
@catch (NSException *exception) {
}
@finally {
}
}
#pragma mark - ASIHTTPRequest,请求数据失败
-(void)requestFailed:(ASIHTTPRequest *)request{
NSLog(@"请求数据失败");
}
4 取消请求
if (request != nil) {
[request cancel];
[request clearDelegatesAndCancel];
}