swift - 如何传递 tumblr api GDPR 信息并获取 JSON?

标签 swift api tumblr

当我请求 api 时 http://demo.tumblr.com/api/read/json我得到带有 GDPR 信息的 html 而不是 json。在网站上,我只需点击“确定”,然后我就会得到 json,如何在 swift 中正确地做到这一点?

    func makeReq(){
    let url = "http://demo.tumblr.com/api/read/json"

    URLSession.shared.dataTask(with: URL(string: url)!) { data, response, error in

        let html = String(data: data!, encoding: String.Encoding.utf8)
        self.webView.loadHTMLString(html!, baseURL: nil)

        }.resume()
}

最佳答案

我无法帮助您使用 Swift,但要通过 GDPR 同意页面,您需要发送一个名为“pfg”的 cookie,其内容取决于随请求发送的用户代理字符串。这些是我遵循的步骤:

  1. 在 Chrome 中,使用 .../More tools/Developer tools 打开调试器,然后使用 .../More tools/Network conditions。在这里,您可以将 Chrome 发送的用户代理字符串设置为您想要的任何内容。为了简洁起见,我选择了 XXXXX。

  2. 浏览到 demo.tumblr.com/read/api 并获取同意书。点击确定。

  3. 使用 Chrome cookies.txt 扩展程序将站点的 cookie 保存到文本文件中。您可以稍后选择冗长的“pfg”cookie。

  4. 让您的程序随请求发送用户代理字符串 XXXXX 和“pfg”cookie。你可以尝试一下

    wget -U XXXXX --load-cookies=cookies.txt https://demo.tumblr.com/read/api

  5. cookie 的有效期设置为 12 个月。也许您需要在此之前更新它,或者不需要。谁知道呢?

关于swift - 如何传递 tumblr api GDPR 信息并获取 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50552328/

相关文章:

ios - 实体类的调用方法 - CoreData : Swift 2. 0

javascript - Google Translate API 文本转语音

tumblr - 我可以打破 tumblr 中的 block {PhotoSet} 吗?

c# - 向 tumblr 创建 POST 请求

javascript - 使用 JavaScript 进行 Tumblr 箭头键导航

ios - 如何用swift制作单选按钮?

ios - 将当前导航 Controller 替换为另一个导航 Controller

swift - 覆盖 Swift 中字典的默认行为以忽略零值?

api - 将授权 header 添加到 http 请求时,cURL 中的 -u 是什么意思

C# - 如何从 http 请求中获取 HTTP 状态代码