如何在iPhone应用程序中设置/检查Cookie?

如何在iPhone应用程序中设置/检查Cookie?,iphone,cookies,Iphone,Cookies,我正在尝试设置一个cookie,并检查它是否存在,是否有人对此有任何示例代码?我只找到了,但是如果我能看到一个实现示例,那将非常有帮助 这可能就是您想要的:Cookies是用于网页的。如果要显示网页,请使用UIWebView。如果要存储持久数据,请使用NSUserDefaults。如果要解析从服务器发送的cookie,请使用NSURLConnection并解析标头。如果您想查看应用程序中运行的UIWebView设置了哪些cookie,请使用NSHTTPCookieStorage NSHTTPoo

我正在尝试设置一个cookie,并检查它是否存在,是否有人对此有任何示例代码?我只找到了,但是如果我能看到一个实现示例,那将非常有帮助

这可能就是您想要的:

Cookies是用于网页的。如果要显示网页,请使用UIWebView。如果要存储持久数据,请使用NSUserDefaults。如果要解析从服务器发送的cookie,请使用NSURLConnection并解析标头。如果您想查看应用程序中运行的UIWebView设置了哪些cookie,请使用NSHTTPCookieStorage

NSHTTPookie存储类参考

所有人都共享这些cookies 应用程序和应用程序保持同步 交叉过程


只有当应用程序在iPhone上以root用户身份运行时才是如此。

只有HTTP连接的服务器才应该设置cookies。它通过在标题中设置Cookie字段来实现这一点

您链接的cookie存储将处理所有NSURLConnection cookie操作(获取和设置),一般来说,您不应该自己更改cookie。如果要覆盖,则不能使用NSURLConnection,需要使用CFReadStreamRef并手动处理通信和构建CFHTTPMessageRef

如果要实现HTTP通信的服务器端,则需要处理cookie

如果使用CFHTTPMessageRef实现服务器,则:

NSDate *expiryDate = /* set some date value */

CFHTTPMessageSetHeaderFieldValue(
    response,
    (CFStringRef)@"Set-Cookie",
    (CFStringRef)[NSString stringWithFormat:
            @"SomeCookieName=%@;Path=/;expires=%@",
            someStringValue,
            [dateFormat stringFromDate:expiryDate]]);
其中
response
是用于回复的
CFHTTPMessageRef
。您可以使用
CFHTTPMessageCopyAllHeaderFields
并获取键“Cookie”的对象,以从CFHTTPMessageRef头中的客户端提取Cookie。

您所说的“在iPhone上以root用户身份运行应用程序”是什么意思?默认情况下,iPhone应用程序是沙盒的,不是吗?