Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用cookie登录iOS web服务_Php_Ios_Cocoa_Cookies - Fatal编程技术网

Php 使用cookie登录iOS web服务

Php 使用cookie登录iOS web服务,php,ios,cocoa,cookies,Php,Ios,Cocoa,Cookies,我有一个网站的登录系统,我正在启动一个PHP会话服务器端,并在PHP中创建一个cookie,当我稍后回来时用于恢复PHP会话 我试图将我的代码重用为iOS应用程序的后端,但我很难理解它是如何工作的 我已经设置了以下cookie管理器,据我所知,它应该随我的请求发送cookie NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; [cookieStorage setCookieAcc

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

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

我已经设置了以下cookie管理器,据我所知,它应该随我的请求发送cookie

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
我不需要从iPhone设置任何cookie,我只需要确保我对php文件的请求允许这些脚本访问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];
}

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

您遇到的问题是什么?根据您的使用情况,您可能还希望将cookie保存在某个位置,并在应用程序启动时重新加载它们。我认为您完全正确,如果我重新启动应用程序,我将在返回的cookie列表中获得不同的PHPSESSID。我只需要记住cookie中的用户id和散列字符串,并确保在我发出请求时可以从PHP访问它们。当我重新启动应用程序时,我得到了一个新的PHPSESSID——这表明重新启动实际上并没有保留我的cookie。你能提供一些我可以使用的参考资料或样本吗?你好,谢谢你回复David,我确实看到了另一篇文章,实际上这并不是我想要实现的。我不需要知道关于cookies的任何信息,我所需要做的就是确保我的PHP后端web服务可以将一些cookies粘贴到我的身上,并确保这些cookies在我下次从web服务请求某些内容时保持不变。这是为了确保我可以在服务器上使用自定义注册/登录脚本登录,并在cookies的帮助下保持登录。因此,保存cookie没有任何价值。实际上我需要确定饼干的有效期是set@Daniel因此,如果我理解正确的话,你就不必担心在关闭和重新启动应用程序时会保留cookies。你要处理的是让饼干发挥作用。对吗?几乎,我仍然需要应用程序来维护web服务在我身上保存了一个cookie的事实,为此,我需要确保cookie在将来有一个正确的过期日期,否则它只是一个会话cookie,而应用程序将在后台结束会话。好的,出于某种原因,我认为您已经尝试了
NSHTTPCookieStorage
,需要一个替代方案。听起来你真正关心的是会话cookie的使用,而不是持久cookie,你已经解决了这个问题。这就是cookie崩溃的方式。。。谢谢你的参与。为了消除任何不确定的结果,我从添加accept策略开始,我想知道这是否是我所需要的全部,从应用程序的角度来看,是的,但我在这里学到的是应用程序进入后台结束了会话,所有会话都只包含cookies。这值得一张便条