ASIHTTPRequest vs AFNetworking vs NSUrlRequest

时间:2013-03-30 13:20:58

标签: iphone ios afnetworking

过去我使用ASIHTTPRequest,但现在有NSURLRequest。我们现在应该使用NSURLRequest吗?有什么缺点吗?

对于现在阅读此内容的人:我最终使用了答案中提到的AFNetworking

https://github.com/AFNetworking/AFNetworking

谢谢,

4 个答案:

答案 0 :(得分:35)

NSURLConnectionNSURLRequest是用于管理连接的Cocoa类。在iOS 7中,Apple添加了NSURLSession

但我认为你会发现AFNetworking是一个进一步简化网络请求(特别是复杂的HTTP请求)的框架。如果您出于任何原因不想使用第三方框架,可以直接使用NSURLConnection和/或NSURLSession。它只需要更多的编码。

如果您正在寻找一个好的ASIHTTPRequest替代方案,AFNetworking是一个很好的候选人。

有关NSURLConnectionNSURLSession的信息,请参阅URL Loading System Programming Guide

答案 1 :(得分:20)

自iOS2.0以来

NSURLRequest一直存在(参见doc),所以它并不是新的。 ASIHTTPRequest已停止使用,last update已于2011年5月15日停止,因此您不应使用它。 AFNetworking是一个令人愉快的iOS和Mac OS X 网络库,正如他们self所描述的那样,真的让你的生活更轻松,在我的情况下,它是我在网络中包含的第一个框架项目

你应该使用哪一个?,我认为这取决于你的要求,NSURLRequestNSURLConnection你可以做任何事情,事实上AFNetworking 我们建立在NSURLConnection之上。但是我之前告诉你的是,AFNetworking有我的支持。

编辑iOS7后

如果你的目标是iOS7,你应该看看NSURLSession,查看official documentationtutorial

编辑Swift

看看Alamofire项目在Swift中完成的实现,它也是由mattt(AFNetworking的主要作者)创建的。

答案 2 :(得分:7)

asihttprequest是过时的库,现在不支持开发。不要使用它。

NSURLRequest是要使用的默认iOS(可可)类。我推荐它用于非常少的用法,因为你需要编写大量代码来处理连接响应。 最重要的是构建所有http库。

AFNetwoking现在是http,imho的标准。它使用块进行回调,它支持不同类型的数据json,xml等。它设计得很好,可以很容易地进行子类化。这是最好的。

答案 3 :(得分:1)

  

原生(NSURLSession)与AFNetworking或任何其他图书馆。

我建议您使用NSURLSession,因为它会在app端为您提供大量自定义功能。最近我正在开发一个项目,我必须在应用程序中使用多部分表单数据。我必须向后端人员提供我的请求主体,我确实使用AfNetworking记录器来打印我的身体,但它没有帮助我。所以我确实搬到了可可原生图书馆并得到了我的解决方案。

所以我建议你使用iOS原生网络,因为它为你提供了很多自定义功能,但是如果你需要更少的代码,那么你可以使用任何第三方库。