AFNetworking3.0通过POST实现简单登录

也是今天开始学习AFNetworking,看到3.0出来了,所以就做了一个demo学习了解了一下,感觉并不是太难理解,也因为自己的了解还在最底层阶段吧,毕竟网络这块的知识内容很多也很庞大的,要学的东西还有太多太多了……

简介
AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它的模块架构被良好的设计,拥有丰富的功能,使用起来,简单方便。

导入
首先在项目中Cocoapods中导入AFNetworking3.0库(Xcode->Product-> Cocoapods->Create/Edit Podfile):

platform :ios, ‘8.0’
pod ‘AFNetworking’, ‘~> 3.0’
然后Product–> CocoaPods–>install Pods,等待…安装完成…

使用
搭建一个简单的界面,然后关联到interface中。然后回到ViewController.m,在头文件中导入 AFNetworking :

1469332-d8cce97f75047615
一个简单的登录界面

在loginButton方法中获取输入的账号和密码的内容,并存储到的parameters中:

//获取输入的账号密码
NSString *username = self.accountText.text;
NSString *password = self.passwordText.text;
进行post请求:

//请求的参数:即向服务器发送的参数,比如登录QQ时的账号和密码
NSDictionary *parameters = @{@”name”:username,
@”password”:password
};
//请求的网址:即请求的接口,这里的这个无效,具体的用你要用的
NSString *urlString = @”http://**********/Api/****/login”;

//请求的manager,我也不知道找什么词形容比较好,就理解成管理者吧
AFHTTPSessionManager *managers = [AFHTTPSessionManager manager];

//进行POST请求
[managers POST:urlString parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@”请求成功,服务器返回的信息%@”,responseObject);
} failure:^(NSURLSessionDataTask *task, NSError * error) {
NSLog(@”请求失败,服务器返回的信息%@”,error);
}];
如果你的账号和密码没问题,对应的接口也OK,那么只需要点击登录按钮,一个简单的登录请求就成功了。

要注意的一点是,在AFNetworking 3.0中进行HTTP请求,使用的是AFURLSessionManager,而在3.0之前版本的中,进行HTTP请求的AFHTTPRequestOperationManager已经被弃用了。

完整代码如下:

#import “ViewController.h”
#import

@interface ViewController ()
@property (strong, nonatomic) IBOutlet UITextField *accountText;
@property (strong, nonatomic) IBOutlet UITextField *passwordText;
– (IBAction)loginButton:(id)sender;

@end

@implementation ViewController

– (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

– (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

– (IBAction)loginButton:(id)sender {
/**
* AFNetworking 3.0
*/
//获取输入的账号密码
NSString *username = self.accountText.text;
NSString *password = self.passwordText.text;
//请求的参数
NSDictionary *parameters = @{@”username”:username,
@”password”:password
};
//请求的url
NSString *urlString = @”http://**********/Api/****/login”;
//请求的managers
AFHTTPSessionManager *managers = [AFHTTPSessionManager manager];
//请求的方式:POST
[managers POST:urlString parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@”请求成功,服务器返回的信息%@”,responseObject);
} failure:^(NSURLSessionDataTask *task, NSError * error) {
NSLog(@”请求失败,服务器返回的错误信息%@”,error);
}];
}

@end

评论

还没有任何评论,你来说两句吧

发表评论

浙ICP备16008686 -
善始者实繁,克终者盖寡