首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用document.cookie在UIWebview浏览器中读取cookie

无法使用document.cookie在UIWebview浏览器中读取cookie
EN

Stack Overflow用户
提问于 2012-03-20 14:34:47
回答 1查看 1.8K关注 0票数 5

我有一个iOS应用程序,我在网页视图中加载html内容。html是登录页面,其中用户凭证经由ajax被发送到服务器,并且认证成功/失败响应被接收。现在,响应包含一个cookie (在Set-Cookie头字段中),我可以在Objective-C端捕获它,如下所示:

代码语言:javascript
复制
NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields]; 
NSString *strCookies = [headers valueForKey:@"Set-Cookie"]; 
NSLog(@"cookies -> %@", strCookies);

同样的响应还包含一个我在浏览器内部使用的responseText

代码语言:javascript
复制
Ajax("/login", "POST", { onsuccess : function(response){ 
       /* Do HTML stuff with response */ }  
});

现在,我需要cookie来发出进一步的ajax请求(在登录页面之后)。但是,cookie不是在webview浏览器中设置的。查找document.cookie将返回空字符串。我可以使用xhr.getAllResponseHeaders()打印所有响应头,但不能访问xhr对象中的Set-Cookie字段。

如何在webview中设置cookie?或者我别无选择,只能通过Obj-C发出所有ajax请求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-02 19:16:00

您可以在发送到webview的请求中设置cookie。

代码语言:javascript
复制
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:yourURL];
[request setValue:yourCookie forHTTPHeaderField:@"Cookie"];

这可以在UIWebview委托shouldStartLoadWithRequest中完成

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9782306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档