定义json数据body体通过post发送数据
-(void) sendAsynchronousRequest:(NSString *) shuId ipAdd:(NSString *) ipAddress time:(NSString *) time Idfa:(NSString *) idfa{
//1、创建一个URL
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
//2、创建请求(Request)对象 这里使用的是它的子类NSMutableURLRequest,因为子类才具有设置方法和设置请求体的属性
NSMutableURLRequest *requst = [[NSMutableURLRequest alloc]initWithURL:url];
//2.1、设置请求方法
requst.HTTPMethod = @"POST";
//2.2.1、设置请求体(请求参数)。创建一个描述信息的JSON数据
NSDictionary *orderInfo = @{
@"name" : @"123",
@"Id" : @"default",
@"event" : @"activation",
@"data":@{
@"ip" : ipAddress,
@"timestamp" : time,
@"advertisingId" : idfa,
@"os" : @"ios",
@"Version" : @"1.1.0",
@"deviceId" : shuId
}
};
//2.2.2、把字典转换为可以传输的NSData类型
NSData *json = [NSJSONSerialization dataWithJSONObject:orderInfo options:NSJSONWritingPrettyPrinted error:nil];
requst.HTTPBody = json;
//2.3、设置请求超时时间,如果超过这个时间,请求为失败
requst.timeoutInterval = 1;
// 2.4.设置请求头:这次请求体的数据不再是普通的参数,而是一个JSON数据
[requst setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
//3、发送请求
[NSURLConnection sendAsynchronousRequest:requst queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSLog(@"Post发送数据");
if (data == nil || connectionError)
return;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSString *error = dict[@"error"];
NSString *success = dict[@"name"];
NSLog(@"Post返回结果");
NSLog(success);//123
}];
}