Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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
如何通过Restkit保存和使用cookiea-objective-c_Objective C_Session_Cookies_Restkit - Fatal编程技术网

如何通过Restkit保存和使用cookiea-objective-c

如何通过Restkit保存和使用cookiea-objective-c,objective-c,session,cookies,restkit,Objective C,Session,Cookies,Restkit,我使用的是Rails服务器,我有一个带有Restkit的应用程序来访问服务器 我的服务器使用会话cookie登录。当我使用我的帐户信息发布/会话时,我已登录,可以从服务器访问隐私区。 问题是,每当我想使用这个应用程序时,我都不想登录。我不知道restkit如何处理cookies,但是当我的会话处于“打开”状态时,我不需要担心它。但现在我想使用我的cookie访问私人区域 当我登录时: 'POST /sessions HTTP/1.1 Host: localhost:3000 Accept-E

我使用的是Rails服务器,我有一个带有Restkit的应用程序来访问服务器

我的服务器使用会话cookie登录。当我使用我的帐户信息发布/会话时,我已登录,可以从服务器访问隐私区。 问题是,每当我想使用这个应用程序时,我都不想登录。我不知道restkit如何处理cookies,但是当我的会话处于“打开”状态时,我不需要担心它。但现在我想使用我的cookie访问私人区域

当我登录时:

'POST /sessions HTTP/1.1
 Host: localhost:3000
 Accept-Encoding: gzip, deflate
 Content-Type: application/json
 Content-Length: 74
 Accept-Language: en-us
 Accept: application/json
 Connection: keep-alive
 User-Agent: TicketIn/1.0 CFNetwork/609.1.4 Darwin/11.4.2

 {"session":{"email":"***","password":"***"}}'

当我试图进入私人区域时:

 GET /ingressos HTTP/1.1
 Host: localhost:3000
 If-None-Match: "310fd8ebf912d0633caa05a91ce56fcc"
 Accept-Encoding: gzip, deflate
 Accept: application/json
 Cookie:      
 _vitrine_session=*session*
 Content-Length: 0
 Accept-Language: en-us
 Connection: keep-alive
 User-Agent: TicketIn/1.0 CFNetwork/609.1.4 Darwin/11.4.2
但当我尝试访问私人区域而不首先登录时:

 GET /ingressos HTTP/1.1
 Host: localhost:3000
 Accept-Encoding: gzip, deflate
 Accept: application/json
 Content-Length: 0
 Connection: keep-alive
 Accept-Language: en-us
 User-Agent: TicketIn/1.0 CFNetwork/609.1.4 Darwin/11.4.2
那么,如何在http请求中包含cookie


谢谢

RestKit构建在标准URL加载系统之上。因此,通过设置
nshtpcookieStorage
的内容,您可以完全控制使用哪些Cookie(如果需要挖掘,请更改
NSMutableURLRequest
上的
sethttpshoulldhandleCookies
属性)


因此,您可以根据需要从NSHTTPCookieStorage添加和删除cookie。

RestKit构建在标准URL加载系统之上。因此,通过设置
nshtpcookieStorage
的内容,您可以完全控制使用哪些Cookie(如果需要挖掘,请更改
NSMutableURLRequest
上的
sethttpshoulldhandleCookies
属性)


因此,您可以在需要时从
NSHTTPCookieStorage
添加和删除cookie。

那么您有一个cookie要添加,以便由RestKit发送?或者您希望RestKit在您登录后使用现有的cookie(应该是自动的)?因此,当我登录时,我希望存储此cookie以供以后使用。例如,若要不再登录服务器,只需使用my session cookie访问专用区域。您是否有一个要添加的cookie,以便由RestKit发送?或者您希望RestKit在您登录后使用现有的cookie(应该是自动的)?因此,当我登录时,我希望存储此cookie以供以后使用。例如,为了不再登录服务器,只需使用我的会话cookie访问专用区域。我尝试过这样做,但是,即使保存了cookie,当我在专用区域中使用tcpmonitor执行http请求(例如GET)时,我的头也没有我设置的cookie。而且域是完全匹配的?嗯,这是一个很好的观点。我认为我没有正确配置所有内容,因为我不知道如何设置cookie字段的所有信息。看到了吗?您可能想创建一个新问题来询问您的cookie设置。这一切都是关于
initWithProperties:
可能……好吧,我将分析我的代码,然后按照您的建议做另一个问题。只有一件事。。。。我的域应该与主机匹配吗?还是请求的整个路径?谢谢,我会接受你的回答!嗯,我尝试了这个方法,但是,即使保存了cookie,当我在私有区域中使用tcpmonitor执行http请求(例如GET)时,我的头也没有我设置的cookie。并且域是完全匹配的?这是一个好的观点。我认为我没有正确配置所有内容,因为我不知道如何设置cookie字段的所有信息。看到了吗?您可能想创建一个新问题来询问您的cookie设置。这一切都是关于
initWithProperties:
可能……好吧,我将分析我的代码,然后按照您的建议做另一个问题。只有一件事。。。。我的域应该与主机匹配吗?还是请求的整个路径?谢谢,我会接受你的回答!
 GET /ingressos HTTP/1.1
 Host: localhost:3000
 Accept-Encoding: gzip, deflate
 Accept: application/json
 Content-Length: 0
 Connection: keep-alive
 Accept-Language: en-us
 User-Agent: TicketIn/1.0 CFNetwork/609.1.4 Darwin/11.4.2