iOS--关于AFN和ASI的post登录请求
2015-10-07 13:23
387 查看
// AFN方式
// 1.创建一个请求操作管理者
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager
manager];
//如果接受类型不一致请替换一致text/html或别的
manager.responseSerializer.acceptableContentTypes = [NSSet
setWithObject:@"text/html"];
// //申明返回的结果是json类型
// manager.responseSerializer = [AFJSONResponseSerializer serializer];
// //申明请求的数据是json类型
// manager.requestSerializer=[AFJSONRequestSerializer serializer];
// 2.请求参数
// NSDictionary *params =@{@"接口文档的账号":用户输入的,@"接口文档的pwd":用户输入的pwd,@"postClientId":@"个推参数",@"设备类型":@"2"};
//或者
// 2.请求参数
NSMutableDictionary *params = [NSMutableDictionary
dictionary];
[params
setValue:用户输入的
forKey:@"接口文档的账号"];
[params
setValue:用户输入的pwd
forKey:@"接口文档的pwd"];
[params setValue:@"个推参数"
forKey:@"postClientId"];
[params
setValue:@"2"
forKey:@"设备类型"];
// 3.发送一个post请求
[manager POST:@"接口Ip地址"
parameters:params
//
请求成功的时候调用这个block
success:^(AFHTTPRequestOperation *operation,id responseObject) {
NSLog(@"成功");
NSLog(@"Success: %@", responseObject);
// // operation 服务器返回数据,(然后解析数据,成功跳转,失败提示用户)
// NSData *response = [operation responseData];
// NSLog(@"res: %@", response);
// // 解析服务器返回的JSON数据(responseObject就是返回解析过的,这两个可以不写)
// NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:nil];
// NSLog(@"dict: %@",dict);
//
请求失败的时候调用这个block
}failure:^(AFHTTPRequestOperation *operation,NSError *error) {
NSLog(@"失败");
NSLog(@"Error: %@", error);
}];
/*---------------------------------------------------------------------------------*/
//ASI
//
通过验证请求服务器
// NSURL *url = [NSURL URLWithString:@"服务器IP地址"];
NSURL *url = [NSURL
URLWithString:@"服务器IP地址"];
ASIFormDataRequest *request = [ASIFormDataRequest
requestWithURL:url];
[request
setPostValue:用户输入的
forKey:@"接口文档的账号"];
[request
setPostValue:用户输入的密码 forKey:@"接口文档的密码"];
[request setPostValue:@"个推参数"
forKey:@"postClientId"];
[request
setPostValue:@"2"
forKey:@"设备类型"];
// 2 建立请求超时时间
[request setTimeOutSeconds:1.0];
[request setDelegate:self];
[request startSynchronous];
NSError *error = [request
error];
if (!error) {
//
服务器返回数据,解析数据,成功跳转,失败提示用户
NSLog(@"请求成功");
NSData *response = [request
responseData];
NSLog(@"%@", response);
//
解析服务器返回的JSON数据
NSDictionary *dict = [NSJSONSerialization
JSONObjectWithData:response options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"%@",dict);
}else{
NSLog(@"请求失败");
NSLog(@"Error: %@", error);
}
// 1.创建一个请求操作管理者
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager
manager];
//如果接受类型不一致请替换一致text/html或别的
manager.responseSerializer.acceptableContentTypes = [NSSet
setWithObject:@"text/html"];
// //申明返回的结果是json类型
// manager.responseSerializer = [AFJSONResponseSerializer serializer];
// //申明请求的数据是json类型
// manager.requestSerializer=[AFJSONRequestSerializer serializer];
// 2.请求参数
// NSDictionary *params =@{@"接口文档的账号":用户输入的,@"接口文档的pwd":用户输入的pwd,@"postClientId":@"个推参数",@"设备类型":@"2"};
//或者
// 2.请求参数
NSMutableDictionary *params = [NSMutableDictionary
dictionary];
[params
setValue:用户输入的
forKey:@"接口文档的账号"];
[params
setValue:用户输入的pwd
forKey:@"接口文档的pwd"];
[params setValue:@"个推参数"
forKey:@"postClientId"];
[params
setValue:@"2"
forKey:@"设备类型"];
// 3.发送一个post请求
[manager POST:@"接口Ip地址"
parameters:params
//
请求成功的时候调用这个block
success:^(AFHTTPRequestOperation *operation,id responseObject) {
NSLog(@"成功");
NSLog(@"Success: %@", responseObject);
// // operation 服务器返回数据,(然后解析数据,成功跳转,失败提示用户)
// NSData *response = [operation responseData];
// NSLog(@"res: %@", response);
// // 解析服务器返回的JSON数据(responseObject就是返回解析过的,这两个可以不写)
// NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:nil];
// NSLog(@"dict: %@",dict);
//
请求失败的时候调用这个block
}failure:^(AFHTTPRequestOperation *operation,NSError *error) {
NSLog(@"失败");
NSLog(@"Error: %@", error);
}];
/*---------------------------------------------------------------------------------*/
//ASI
//
通过验证请求服务器
// NSURL *url = [NSURL URLWithString:@"服务器IP地址"];
NSURL *url = [NSURL
URLWithString:@"服务器IP地址"];
ASIFormDataRequest *request = [ASIFormDataRequest
requestWithURL:url];
[request
setPostValue:用户输入的
forKey:@"接口文档的账号"];
[request
setPostValue:用户输入的密码 forKey:@"接口文档的密码"];
[request setPostValue:@"个推参数"
forKey:@"postClientId"];
[request
setPostValue:@"2"
forKey:@"设备类型"];
// 2 建立请求超时时间
[request setTimeOutSeconds:1.0];
[request setDelegate:self];
[request startSynchronous];
NSError *error = [request
error];
if (!error) {
//
服务器返回数据,解析数据,成功跳转,失败提示用户
NSLog(@"请求成功");
NSData *response = [request
responseData];
NSLog(@"%@", response);
//
解析服务器返回的JSON数据
NSDictionary *dict = [NSJSONSerialization
JSONObjectWithData:response options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"%@",dict);
}else{
NSLog(@"请求失败");
NSLog(@"Error: %@", error);
}
相关文章推荐
- IOS开发笔记-01按钮操作-12.frame&bounds&center属性
- iOS异常处理机制
- iOS封装的三个步骤
- IOS开发中的几种设计模式介绍(思想)
- ios NSString的一些知识
- IOS之Quartz
- iOS 获取屏幕分辨率大小错误的解决方法
- iOS: performXXX的几种方法总结:
- iOS中常见的项目文件
- iOS --- 关于block的常见使用方法
- 【IOS 开发学习总结-OC-35】★文件 I/O——NSPathUtilities.h管理路径+NSProcessInfo获取进程信息
- iOS-TextField
- iOS讲解迷惑之typedef枚举
- iOS9图片保存到相册
- iOS开发中一些小知识
- ios:NSKeyedArchiver/NSKeyedUnarchiver(归档/解档)
- iOS版本控制git小结--yoowei
- 解析iOS内存不足时的警告以及处理过程
- iOS中日期和字符串的相互转化
- iOS学习之查看图片某点的ARGB