iphone – iOS UIwebView Auth Cookies

iphone – iOS UIwebView Auth Cookies,第1张

概述我有一个UIWebView加载用户身份验证的网站.该站点创建一个身份验证cookie.在浏览器中,除非您清除cookie,否则您将始终登录.当xCODE加载时,它可以在查看cookie jar时看到列出的cookie,但不会发送到webView. 我想知道如何让webView意识到auth cookie就在那里,所以它不会每次都继续提示用户进行身份验证. 您可以使用NSURLConnection类 我有一个UIWebVIEw加载用户身份验证的网站.该站点创建一个身份验证cookie.在浏览器中,除非您清除cookie,否则您将始终登录.当xCODE加载时,它可以在查看cookie jar时看到列出的cookie,但不会发送到webVIEw.
我想知道如何让webVIEw意识到auth cookie就在那里,所以它不会每次都继续提示用户进行身份验证.解决方法 您可以使用NSURLConnection类执行http请求以登录网站,并检索cookie.要执行请求,只需创建一个NSURLConnection实例并为其分配一个委托对象.

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.Google.com/"]];NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];

然后,实现委托方法.

- (voID)connection:(NSURLConnection *)connection dIDReceiveResponse:(NSURLResponse *)response{    NShttpURLResponse *httpResponse = (NShttpURLResponse *)response;    NSDictionary *fIElds = [httpResponse allheaderFIElds];    Nsstring *cookie = [fIElds valueForKey:"Set-cookie"]; // It is your cookie}

保留或复制cookie字符串.如果要执行其他请求,请将其添加到NSURLRequest实例的http标头中.

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.Google.com/"]];[request addValue:cookie forhttpheaderFIEld:"cookie"];

要随时可以调用此方法删除cookie:

NShttpcookiestorage *cookieStorage = [NShttpcookiestorage sharedhttpcookiestorage];    for (NShttpcookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) {        [cookieStorage deletecookie:each];    }
总结

以上是内存溢出为你收集整理的iphone – iOS UIwebView Auth Cookies全部内容,希望文章能够帮你解决iphone – iOS UIwebView Auth Cookies所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081967.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存