我有一个启用了RestKit的应用程序,它可以进行 HTTP GET 调用,并且应该进行 HTTPS POST 调用,以保护否则会以未加密方式发送的用户数据。据我所知,只需将基本 URL 设置为所需的 url ,就可以将 RestKit 框架设置为对整个应用程序使用未加密的 HTTP 或 SSL 加密的 HTTPS 。
就我而言,我需要两者兼得。如何在 RestKit 中切换 HTTP 和 HTTPS?这甚至可能吗?
您需要使用两个实例RKObjectManager
- 一个用于 HTTP GET 调用,一个用于 HTTPS POST 调用。请记住使用给定名称调用每个经理,并且不再使用,[RKObjectManager sharedManager]
因为它设置为第一个 initialized RKObjectManager
。
RKObjectManager
作为替代方案,您可以在每次 GET/POST 调用之前设置给定的基本 URL 。
我使用方法 swizzling 来解决这个问题,因为RestKit使用AFNetworking来做 http 相关的事情,并且AFNetworking
使用
- (NSMutableURLRequest *)requestWithMethod:(NSString *)method path:(NSString *)path parameters:(NSDictionary *)parameters
生成请求对象。在我的实现中,我调整了这个方法并检查我是使用http
还是https
基于,path
所以你可以选择基于method