iOS web服务登录cookie


iOS web service login with cookie

我有一个网站的登录系统,我正在启动一个PHP会话服务器端,并在PHP中创建一个cookie,用于在我回来后恢复PHP会话。

我试图重用我的代码作为iOS应用程序的后端,但我很难理解它是如何工作的。

我已经设置了以下cookie管理器,因为我理解这应该发送cookie与我的请求。

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

我不需要从iPhone设置任何cookie,我只需要确保我对php文件的请求允许这些脚本访问cookie。

以前也有人问过类似的问题:在iOS应用程序中持久化cookie ?

本质上,您需要将cookie数据保存在某个地方。它可以是一个文件,像这样:

[NSKeyedArchiver archiveRootObject:cookies toFile:dataFilePath];    

在这种情况下,您将返回cookie数据如下:

NSFileManager *filemgr = [NSFileManager defaultManager];
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithFile:dataFilePath];
for (cookie in cookies) {
   [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}

您的实际情况将决定处理此问题的最佳方法,但希望以上内容能使您朝着正确的方向思考。