我正在构建一个使用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