【问题标题】:API for Http Request/Response in iPhoneiPhone 中的 Http 请求/响应 API
【发布时间】:2012-08-17 10:19:21
【问题描述】:

在 iPhone 应用程序中是否所有的网络操作都只使用NSURLConnections??我正在使用 NSURLConnections 及其委托方法ConnectiondidReceiveResponseConnectiondidFinishLoading 等来下载文件。

我的问题是NSURLConnection API 是否仅在 cocoa-touch 中可用于 Http 请求/响应?还有其他可用的 API 吗??

我们也可以使用NSURLConnection 来上传文件吗??

我想有很多问题,但我真的很困惑。请帮帮我!

【问题讨论】:

  • 管理网络的最佳方式:allseeing-i.com/ASIHTTPRequest
  • 谢谢@WhiteTiger,我知道 ASIHTTPRequest 可用。但我倾向于使用苹果提供的 Default API。
  • 我同意@WhiteTiger
  • @WhiteTiger:ASIHTTPRequest 现在已经过时,并且没有在积极开发中。您应该考虑使用AFNetworking

标签: iphone objective-c ios cocoa-touch nsurlconnection


【解决方案1】:

我也觉得用NSURLConnection 上传文件有困难。最后,我使用AFNetworking 库。效果很好。

NSURL *url = [NSURL URLWithString:@"http://api-base-url.com"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
    [formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}];

AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:request] autorelease];
[operation start];

您可以在以下地址找到图书馆页面。

https://github.com/AFNetworking/AFNetworking

此外,还有管理 Objective-C 库的 CocoaPods。我正在尝试使用它。

https://github.com/CocoaPods/CocoaPods/

【讨论】:

    【解决方案2】:

    你也可以试试 MKNetworkKit 框架: MKNetworkKit

    易于使用,效果非常好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 2021-08-28
      • 2020-11-17
      相关资源
      最近更新 更多