我可以在不实际下载网站内容的情况下查看网站的状态吗?

问题描述 投票:1回答:1

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

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

很抱歉,没有真正的方法来产生一个好的样本,即

r http url get ratelimit
1个回答
2
投票

多么好的问题,这有时是非常有用的! 也许你可以尝试运行 curlGetHeaders() 函数。它在基础R中,所以你不需要安装任何包。只需输入。

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

这应该只要求HTTP头信息,而不是内容(就像运行命令行的 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"

更多信息请看 文件 或打 ?curlGetHeaders 到你的R控制台。

希望这能帮助你

© www.soinside.com 2019 - 2024. All rights reserved.