我正在構建一個使用Google App Engine作爲後端的iOS應用程序。 Google提供了一個存儲身份驗證Cookie的HTML登錄網站。如果我在UIWebView中訪問該網站,並且用戶登錄,那麼這些Cookie是否會存儲在NSURLConnection向同一站點發出請求時將被拾取的位置?UIWebView和NSURLConnection共享cookie存儲嗎?
回答
UIWebView的cookie將存儲在可通過NSHTTPCookieStorage sharedHTTPCookieStorage]
訪問的沙盒cookie存儲中。您可以以這種方式使用NSURLConnection的這個cookie存儲:
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:@"__YOUR_URL__"]];
NSDictionary *headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
[request setAllHTTPHeaderFields:headers]; //A previously created NSMutableURLRequest
現在可以正常使用的NSURLRequest一個NSURLConnection的,它會發送在UIWebView中
我是否會將「YOUR_URL」替換爲頁面的URL或域名? – Linuxios 2013-03-13 23:24:19
在你的情況下用'.google.com'替換YOUR_URL應該沒問題,一般來說就是匹配cookie的域字段的url。如果您不知道確切的網址('.google.com'是否與所有google.com子域名匹配),則可以通過以下方式獲取cookie存儲中的所有Cookie:'[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]'。服務器可能會簡單地忽略不適合他的cookies(如果有其他人)。 – 2013-03-14 11:50:37
那麼'.google.com'是用於'google.com'還是所有子域?確切地說, – Linuxios 2013-03-14 13:32:43
- 1. 爲兩個UIWebView分開存儲cookie嗎?
- 2. 參考存儲庫可以共享嗎?
- 3. 共享Cookie和/或認證
- 4. Asp.Net Cookie共享
- 5. UIWebview不會在NSHTTPCookieStorage上存儲.aspxauth cookie?
- 6. 本地和共享存儲庫
- 7. PHP共享塊存儲和叉
- 8. Python代碼共享和存儲庫?
- 9. 共享存儲和Oracle集羣件
- 10. OpenMP和共享存儲器的定義
- 11. 做popup.html和background.html共享相同的本地存儲空間嗎?
- 12. Tomcat HttpSession Cookie共享
- 13. Laravel 5.1存儲cookie並與其他頁面問題共享
- 14. Flash共享對象(cookie) - 安全地存儲密碼?
- 15. 共享首選項存儲
- 16. Android共享內部存儲
- 17. 使用共享存儲器
- 18. 共享存儲過程
- 19. 具有共享存儲器
- 20. 轉儲共享內存
- 21. WCF服務共享存儲
- 22. 照片共享vs存儲
- 23. 升壓共享存儲型
- 24. git - 共享存儲庫sgid
- 25. 訪問共享存儲器
- 26. Alfresco共享存儲空間
- 27. 在UIWebView和UIViewController之間共享數據
- 28. 會話cookie應保存在共享偏好中嗎?
- 29. 與UIWebView共享WKWebView餅乾
- 30. 在webrequest和webbrowser之間共享cookie
感謝登錄後創建的cookie。我一直在試圖找出一種方法來問這個問題約10分鐘。 – 2015-03-24 17:33:12
@Yar:很高興你找到了! – Linuxios 2015-03-24 17:33:55