簡體   English   中英

我應用的[NSHTTPCookieStorage setCookie]破壞了瀏覽器的cookie?

[英]My app's [NSHTTPCookieStorage setCookie] destroys the browser's cookie?

我正在通過[NSHTTPCookieStorage setCookie]登錄到API。 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/Reference/Reference.html

如果我在瀏覽器打開的情況下登錄,並且已經使用同一用戶登錄到同一站點,則該應用程序和瀏覽器都將繼續正常運行。

但是,如果我Quit瀏覽器,再次打開它,然后返回該站點,則cookie已丟失。 用戶尚未登錄。

這是怎么回事,有沒有一種方法可以強制應用使用與瀏覽器不同的Cookie?

或者,如果我們要在應用程序之間“共享” cookie,是否有任何方法可以使用已登錄用戶的cookie來登錄我的應用程序而無需輸入用戶名/密碼?

以下是根據您的請求創建新cookie的代碼:(未經XCode測試)

// Dictionary of attributes for the new cookie
NSDictionary *newCookieDict = [NSMutableDictionary 
                               dictionaryWithObjectsAndKeys:@".example.com", NSHTTPCookieDomain,
                                                            @"Test Cookie", NSHTTPCookieName,
                                                            @"/", NSHTTPCookiePath,
                                                            @"test1234567890", NSHTTPCookieValue,
                                                            @“2011-10-26 00:00:00 -0700", NSHTTPCookieExpires, nil];
// Create a new cookie
NSHTTPCookie *newCookie = [NSHTTPCookie cookieWithProperties:newCookieDict];

// Add the new cookie
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:newCookie];

特別注意字典的最后一個元素

您是否設置了cookie的有效期? 如果您不這樣做,NSHTTPCookie假定僅是會話( 鏈接到docs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM