简单的来讲,AFN是ASI的继任者,ASI 已停止更新。但是ASI性能全面优于 AFN,因为ASI基于CFNetwork框架开发,而AFN基于NSURL, ASI 更加底层。
相对而言,AFN 更加简单易用,建议逻辑简单的应用使用 AFN,而复杂的应用,相对成熟的团队可使用 ASI。
之前已经介绍过 AFN,下面就示例下 ASI 如何使用:
//使用 block回调监听网络请求(GET)
NSURL *url=[NSURL URLWithString:@"https://developer.apple.com"];
self.request=[ASIHTTPRequest requestWithURL:url];
//设置网络请求延时
self.request.timeOutSeconds=5;
// block
[self.request setStartedBlock:^{
//请求开始的时候调用
}];
[self.request setFailedBlock:^{
//请求失败的时候调用
}];
[self.request setDataReceivedBlock:^(NSData *data) {
//开始接收数据的时候调用
}];
[self.request setCompletionBlock:^{
//请求成功完成的时候调用
}];
//发送请求(异步请求)
[self.request startAsynchronous];
ASI的github地址
https://github.com/pokeb/asi-http-request
ASI的使用参考
http://www.cnblogs.com/dotey/archive/2011/05/10/2041966.html
http://www.oschina.net/question/54100_36184
参考网址:http://www.infoq.com/cn/articles/afn_vs_asi
http://blog.sina.com.cn/s/blog_a0f3ea980101c0yo.html