从 iOS / Objc 访问 JSON/Rest 服务器的方法?
Posted
技术标签:
【中文标题】从 iOS / Objc 访问 JSON/Rest 服务器的方法?【英文标题】:Ways to access JSON/Rest server from iOS / Objc? 【发布时间】:2015-09-08 00:40:46 【问题描述】:我的 ios 应用需要使用带有基本 HTTP 身份验证 (401 / basic-auth) 和 JSON 作为数据的 HTTP POST 访问 REST 服务器。
我有一个选择:
使用 ResKit 使用 AFNetworking 使用HTTPUrlSession
和来自标准 API 的 JSON 序列化程序实现自己的客户端。
我不喜欢手动方法,因为它似乎太冗长并且需要大量代码(HTTPUrlSession
带有 POST 和 HTTP 身份验证不是很简单)但是 ResKit 不是很成熟:它是 0.x 版本。
我觉得我需要 ResKit 或 AFNetworking。 解决我的问题的最佳方法是什么?你如何使用 iOS 的 RESTful 服务?
【问题讨论】:
它需要什么样的“访问”?NSURLRequest
怎么了?
【参考方案1】:
AFNetworking
和 RestKit
是 NSURLRequest
的包装器。
在NSURLSession
上使用内置解决方案也与使用AFNetworking
相同。
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://whatever.com"]];
这是基本身份验证的一些示例。
NSString *authStr = @"username:password";
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat: @"Basic %@",[authData base64EncodedStringWithOptions:0]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
//create the task
NSURLSessionDataTask* task = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
];
【讨论】:
以上是关于从 iOS / Objc 访问 JSON/Rest 服务器的方法?的主要内容,如果未能解决你的问题,请参考以下文章
IOS Objc如何在滚动后正确加载UICollectionViewCell