有没有办法在Objective-C中捕获并存储$ _SESSION?我知道会话和cookie都是非常交织在一起的,所以是否有可能使用NSHTTPCookie来捕获它?或者这是我必须在PHP代码中处理的东西而不是我的objective-c代码才能使其工作?
我可以告诉你我想做什么。我试图通过NSMutableURLRequest向服务器发送一些信息,这不是问题,然后我试图抓住我接下来会收到的会话。
答案 0 :(得分:2)
会话存储在服务器端,因此除非服务器选择以其他方式发送,否则会话中没有存储在会话中的数据。唯一传递给客户端并返回的是会话标识符,服务器在客户端发送请求时使用该标识符来定位正确的会话。
会话标识符通常在cookie中传递,但cookie的名称会因服务器而异。 PHP通常使用PHPSESSID
,但可以配置为php.ini
中的任何名称。
要获取从服务器传递到您的应用程序的所有cookie(如果已设置,将为您提供会话cookie);
NSHTTPCookieStorage *cookieStore = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookies = [cookieStore cookiesForURL:url];
...传入指向服务器的NSURL对象。这将返回NSArray
NSHTTPCookie
,您可以循环访问并获取所需信息。