有没有办法在 Swift 或 RxAlamofire 中退出浏览器会话?

Posted

技术标签:

【中文标题】有没有办法在 Swift 或 RxAlamofire 中退出浏览器会话?【英文标题】:Is there a way to quit browser session in Swift or RxAlamofire? 【发布时间】:2019-03-22 22:53:44 【问题描述】:

我是web scrapping 一个用户必须登录的特定网站。注销用户很简单,但注销后网站要求用户登录"close the browser"。如果用户仅关闭选项卡然后重新进入站点,他们将被带回登录帐户。有没有办法以某种方式模拟在 Swift 或 RxAlamofire 中关闭浏览器?

【问题讨论】:

【参考方案1】:

ephemeral 会话配置旨在不将信息持久化或缓存到磁盘(仅在 RAM 中)。创建一个临时会话,使用它,丢弃它并创建另一个会话,它不会有任何持久信息。

let session = URLSession(configuration: URLSessionConfiguration.ephemeral)
session.dataTask(with: myURL)  data, response, error in
    // Do stuff here
.resume()

编辑:

由于 Alamofire rx 只是扩展了 URLSession 你可以类似地做:

let session = URLSession(configuration: URLSessionConfiguration.ephemeral)
session
   .rx
   .json(.get, url)
   .observeOn(MainScheduler.instance)
   .subscribe 
      // Do stuff here
   

【讨论】:

以上是关于有没有办法在 Swift 或 RxAlamofire 中退出浏览器会话?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用swift将进度条分成几段? (如图所示)

有没有办法通过 iOS/swift 中的蓝牙以编程方式连接 android 和 IOS 设备?

将 NSDictionary 转换为 Swift 字典

如何在 Swift 中打印变量的类型或类?

Swift 中是不是有 Prefix Header(或具有此功能的东西)?

有没有办法用 2 的幂(或计算值)定义一个快速枚举