iphone - 来自 ios webview 的 Cookie

标签 iphone ios objective-c multithreading

我想问一些关于我尝试编写的一段代码的问题,而我之前没有接触过 ios 或 objective-c。 这段代码将:

  1. 打开一个带有特定 url 的 WebView,用户将在其中登录 (完成)
  2. 用户登录后会获取创建的cookie 从那个登录。
  3. 它将在下一个请求中使用该 cookie 加载另一个需要身份验证的站点。

我在第 2 部分卡住了一点,因为它必须 a) 在另一个线程中等待,直到用户登录(如何登录?)和 b) 因为我似乎无法轻松获得该站点的特定 cookie .我只找到并尝试过这个 poc,但如何只过滤掉我想要的网站的 cookie?

NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for(cookie in [cookieJar cookies]) {
    NSLog(@"%@", cookie);
}

关于如何制作 2a/b 部分有什么想法吗? Objective-c 语法似乎有点困惑。

最佳答案

我按照这个 https://www.inkling.com/read/learning-ios-programming-alasdair-allan-2nd/chapter-7/embedding-a-web-browser-in-your 找到了解决方案. 使用 webViewDidFinishLoad 委托(delegate)并使用 cookiesForURL 方法从那里获取 cookie。

NSArray* availableCookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:@"MYURL"]];

关于iphone - 来自 ios webview 的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913870/

相关文章:

iPhone:无法启动模拟应用程序:未知错误

ios - 更改应用程序中所有 UIAlertController 的字体

iphone - 是否有一个很好的库来替代 UIAlertView

iphone 开发 : caching images with asyncimageview library

objective-c - AES 在 Objective-C 中加密并在 ColdFusion 中解密

ios - 对用于反向地理编码位置的 CLGeocoder 类方法感到困惑

ios - 如何在 iOS Swift 中可靠地获取键盘高度?

ios - 现在如何知道带有嵌套循环的多个服务器调用方法何时全部完成

ios - 错误体系结构armv7的 undefined symbol : “_RELEASE_SAFELY” , referenced from:

objective-c - iOS 上的数据源