首页 > 解决方案 > 有没有办法在 Swift 或 RxAlamofire 中退出浏览器会话?

问题描述

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

标签: swiftweb-scrapingrxalamofire

解决方案


临时会话配置旨在不将信息持久保存或缓存到磁盘(仅在 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
   }

推荐阅读