您的位置:首页 > 移动开发 > IOS开发

iOS AFNetworking请求数据(get/post)

2015-12-15 18:08 218 查看
AFNetworking 是常用的网络请求第三方,下面我就写一下用AFN进行get请求和post请求

我把AFN单独封装到了一个类里,并写在了一个+号方法里,以便调用.

GET

//AFN请求数据
+(void)getDataWithURL:(NSString *)url blcok:(AppToolsBlock)blcok{

//如果网址中有中文需要使用 : 中文编码
NSString *urlEncode = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/json",@"application/json",@"text/javascript",@"text/html",nil];
[manager GET:urlEncode parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
//NSLog(@"使用AFN进行get请求 ===  %@",responseObject);
blcok(responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"失败==== %@",error);

}];

}


get请求和post请求区别:参数:

get请求的参数是直接添加在URL路径上,使用简单,但是用户的隐私信息都会暴露在外面(不安全)

post请求的参数会将一部分或者全部拿出去放在一个body体里,转成data形式数据来发送给报告者,外界不易截取(安全性高)

POST

+ (void)getDataWithPath:(NSString *)path Body:(NSDictionary *)body block:(AppToolsBlock)block{
NSString *urlStr = path;
NSString *urlEncode = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
//body体
NSDictionary *bodyDic = body;

AFHTTPRequestOperationManager *netManager = [AFHTTPRequestOperationManager manager];
netManager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/json",@"application/json",@"text/javascript",@"text/html",nil];
[netManager POST:urlEncode parameters:bodyDic success:^(AFHTTPRequestOperation *operation, id responseObject) {
//        NSDictionary *dic = responseObject;
//        NSLog(@"post请求成功====%@", dic);

block(responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"错误信息%@", error);
}];

}


在使用的时候导入这个类的头文件,直接调用方法,代入参数即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: