【问题标题】:How to pass tumblr api GDPR info and get JSON?如何传递 tumblr api GDPR 信息并获取 JSON?
【发布时间】:2018-05-27 12:50:55
【问题描述】:

当我请求 api http://demo.tumblr.com/api/read/json 时,我得到的是带有 GDPR 信息的 html,而不是 json。在网站上我可以简单地点击“ok”然后我得到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()
}

【问题讨论】:

  • @Moritz 对,但我已经完成了(在我的私人帐户上)。网址中的“演示”是用户。我尝试在 webView 中打开 html 并在单击“确定”按钮后捕获链接,但没有任何操作。
  • 这似乎已修复:demo.tumblr.com/api/read/json
  • @mikedidthis 在邮递员中尝试,然后你会看到我的问题。在网络浏览器中单击“确定”后,您将获得 json,但问题是如何在移动请求上做同样的事情? :)

标签: swift api tumblr


【解决方案1】:

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

  1. 在 Chrome 中,使用.../更多工具/开发者工具打开调试器,然后.../更多工具/网络条件。在这里,您可以将 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 个月。也许您需要在此之前更新它,或者可能不需要。谁知道?

【讨论】:

  • 这个答案现在在新的 Tumblr API 的上下文中已经过时了。
猜你喜欢
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-09
  • 1970-01-01
  • 2020-09-22
  • 2019-05-30
  • 1970-01-01
相关资源
最近更新 更多