1

我使用以下函数从 API 获取一些内容。这里的问题是,有一个速率限制,我在检查 URL 时通常会超过这个限制。因此,我想知道是否有另一种方法可以在不打开 URL 的情况下检查它们。

Updated <- function(x){http_error(GET(x))}

抱歉,没有真正的方法可以制作出好的样本

4

1 回答 1

2

多么好的问题,这有时非常有用!也许您可以尝试运行curlGetHeaders()功能。它位于基础 R 中,因此您无需安装任何软件包。只需输入:

curlGetHeaders("https://stackoverflow.com/")

这应该只要求 HTTP 标头,而不是内容(就像运行 command-line 一样curl -I),因此它可能会绕过您的速率限制(但也可能不会,这取决于 API 提供程序,您需要先尝试)。

如果要获取 HTTP 状态,只需运行:

# get all HTTP headers
headers <- curlGetHeaders("https://stackoverflow.com/")

# get HTTP status code
http_status <- attributes(headers)$status
#> http_status
# [1] 200

# or full status header
headers[1]
# [1] "HTTP/1.1 200 OK\r\n"

有关更多信息,请参阅文档或键入?curlGetHeadersR 控制台。

希望这可以帮助!

于 2020-06-17T20:02:47.593 回答