Добро пожаловать в базу знаний

Проверка работы cURL

0

На всех тарифах виртуального хостинга есть cURL.

Примеры Curl Скриптов: https://www.plus2net.com/php_tutorial/curl-demo.php

Ниже описаны различные варианты проверки работы Curl

Вариант 1  (через браузер)

При открытии файла test-curl.php с простейшим тестовым скриптом через браузер http://сайт.ru/test-curl.php:
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.binance.com/api/v3/time");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);

?>

В ответ получим: { "serverTime": 1639392389001 }, что аналогично содержимому страницы https://api.binance.com/api/v3/time 

Значит CURL работает.

 

Вариант 2  (c помощью скрипта тестирования CURL с Github)

Скрипт тестирования CURL скачиваем из источника: https://gist.github.com/janus57/333b8575d9fc049f9b6771fd452eb7af 

Открываем через браузер, указываем сайт, с которого нужно получить данные. Данный скрипт покажет ошибки, типа getaddrinfo thread failed to start, тогда, когда браузер может их не отображать

cur_test.png

Если в ответ приходит "getaddrinfo() thread failed to start", то необходимо увеличить количество процессов для пользователя. Для этого обратитесь в Центр поддержки хостинга.

 

Вариант 3 (через cron)

Панель управления - Планировщик cron. Инструкция по добавлению задания в планировщик -> тут

Задаем команду @hourly
- указав полный путь до бинарного исполняемого файла curl: 
/usr/bin/curl --location --request GET 'https://api.binance.com/api/v3/time' > /var/www/userXXX/data/output.txt

- или через браузер:
wget -O /var/www/userXXX/data/output.txt 'https://api.binance.com/api/v3/time'; >/dev/null 2>&1

Как итог получаем вывод в файл output.txt:

{"serverTime":1726052174907}

output.png
Если в ответ приходит "getaddrinfo() thread failed to start", то это означает, что запущено много одновременных процессов.

Для решения достаточно увеличить время в задании CRON.