curl :: curl_fetch_memory(url,handle = handle)中的错误:来自服务器的空回复

时间:2018-09-28 13:56:02

标签: r get cron httr

我正在使用httr的GET函数执行API请求。该API一次仅接受一个参数,而我需要大约100000个参数的信息。我编写了一个循环处理请求的脚本,并计划了一个包含cron任务的脚本,该脚本在星期一的早晨运行。 我随机收到此错误,并且无法重现它:

  

curl :: curl_fetch_memory(url,handle = handle)中的错误:    来自服务器的空回复

我的代码:

getFullOrders_APISF <- function(hashID, auth = getAuthAuto()) {
  require(httr)
  require(jsonlite)
  require(base64enc)
  require(hashids)
  require(data.table)
  require(magrittr)
  require(dplyr)

  token <- auth
  url <- paste0("http://my_api/", hashID,"/full")
  get <- GET(url,add_headers(Authorization = paste0('Bearer ', token)),
           encode = "json", timeout(300))
  httr::reset_config()

  events <- fromJSON(httr::content(get, 'text', 'application/json', encoding = "UTF-8"))

  return(events)

}

然后,我使用此函数返回带有许多API请求结果的表:

getActors <- function(export) {
  require(dplyr)

  hashID <- export%>%
    select(hashID)
  N <- nrow(hashID)

  for (i in 1:N){
    print(c(hashID$encoded_hashID[i],i))
    order <- getFullOrders_APISF(hashID = hashID$encoded_hashID[i])
    if (is.null(order$errors)){
      return(order)
      }
    else{
      print(paste0("API problem with order #",hashID$encoded_hashID[i]," ",
             "//// API status ", order$errors$detail))
      }
    }
    }

关于如何解决此问题的任何想法?谢谢

0 个答案:

没有答案