Могу ли я проверить статус веб-сайта, не загружая его содержимое? - PullRequest
1 голос
/ 17 июня 2020

Я использовал следующую функцию, чтобы получить контент из API. Проблема здесь в том, что существует предел скорости, который я обычно превышаю при проверке URL-адресов. Таким образом, мне интересно, есть ли другой способ проверять URL-адреса, не открывая их.

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

Извините, но нет реального способа создать хороший образец

1 Ответ

2 голосов
/ 17 июня 2020

Какой хороший вопрос, иногда это может быть очень полезно! Возможно, вы можете попробовать запустить функцию 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.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...