【问题标题】:Extracting token from XHR request header with R使用 R 从 XHR 请求标头中提取令牌
【发布时间】:2017-02-22 10:38:20
【问题描述】:

我一直在使用 R 和 httrplyr 库从 API 中抓取数据。它非常简单,并且适用于以下代码:

library(httr)
library(plyr)

headers <- c("Accept" = "application/json, text/javascript",
         "Accept-Encoding" = "gzip, deflate, sdch",
         "Connection" = "keep-alive",
         "Referer" = "http://www.afl.com.au/stat",
         "Host" = "www.afl.com.au",
         "User-Agent" = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36",
         "X-Requested-With"= "XMLHttpRequest",
         "X-media-mis-token" = "f31fcfedacc75b1f1b07d5a08887f078")

query <- GET("http://www.afl.com.au/api/cfs/afl/season?seasonId=CD_S2016014", add_headers(headers))

stats <- httr::content(query)

我的问题是关于标头中所需的请求令牌(即 X-media-mis-token)。这很容易通过检查 Chrome 或 Firefox 中的 XHR 元素来手动获取,但令牌每 24 小时更新一次,这使得手动提取很麻烦。

是否可以使用 R 查询网页并自动提取此令牌?

【问题讨论】:

  • 你可以检查答案并投票并检查它吗?

标签: r access-token httr


【解决方案1】:

您可以获得X-media-mis-token 令牌,但带有免责声明。 ;)

library(httr)
token_url <- 'http://www.afl.com.au/api/cfs/afl/WMCTok'
token <- POST(token_url, encode="json")
content(token)$token
#[1] "f31fcfedacc75b1f1b07d5a08887f078"
content(token)$disclaimer
#[1] "All content and material contained within this site is protected by copyright owned by or licensed to Telstra. Unauthorised reproduction, publishing, transmission, distribution, copying or other use is prohibited.

【讨论】:

  • 答案是正确的 Karthik(我认为这从我之前的评论中很清楚?)。我已经投票了,但因为我没有足够的声望点,所以这不算数。
  • @Safarr 请您点击投票箭头下方左侧的勾号(复选标记)来接受答案吗?谢谢!
  • 啊,对不起 Karthik。这是我的第一篇文章,所以是一次学习体验!
猜你喜欢
  • 2018-07-05
  • 2018-01-17
  • 2020-11-16
  • 2013-04-01
  • 2015-12-24
  • 2014-07-29
  • 1970-01-01
  • 2021-07-29
  • 2017-07-28
相关资源
最近更新 更多