Хостинг с cURL

watch 1m, 41s
views 2

13:31, 29.11.2022

Содержание статьи
arrow

  • Особенности библиотеки cURL
  • Установка cURL
  • Как работать с cURL
  • Примеры использования cURL в PHP

Если вы решили автоматизировать передачу данных в Сети с использованием разномастных протоколов, эта статья поможет. Данное программное обеспечение работает с протоколами:

  • FTP;
  • FTPS;
  • HTTP;
  • HTTPS;
  • TFTP;
  • SCP;
  • SFTP;
  • Telnet;
  • DICT;
  • LDAP;
  • POP3;
  • IMAP;
  • SMTP.

Работать с cURL можно только через командную строку, так как какой-либо пользовательский интерфейс здесь не предусмотрен. Также возможен вариант использования в качестве дополнительного модуля для какого-либо языка программирования, с которым вы работаете.

Особенности библиотеки cURL

Утилита доступна для всех современных операционных систем, основанных на Unix. Эту команду применяют для получения данных по заданному URL или передачи данных через протоколы, которые мы перечислили выше. Для работы утилиты требуется библиотека API Libcurl – она необходима для обеспечения возможности передачи файлов многочисленным приложениям.

Libcurl является надежной и портативной библиотекой с открытым исходным кодом, которую легко можно интегрировать в любое приложение. Саму команду cURL можно использовать на большинстве дистрибутивов Linux для таких целей:

  • Тестирование API.
  • Использование внутри shell-скриптов.
  • Обеспечение доступа к файлам без браузера.

При этом пакет можно использовать как в коммерческих, так и в некоммерческих целях – исходный код открыт и ПО распространяется свободно.

Хостинг с curl

Установка cURL

Пользователям Windows предварительно требуется установить модуль PHP, так как без него утилита не будет работать. Далее, чтобы установить cURL, необходимо загрузить инсталлятор с официального сайта разработчиков. Просто выберите подходящую версию для вашей OS и затем установите её.

Для любых других операционных систем вы также можете найти инсталлятор в соответствующем списке. Здесь представлены версии для Linux, FreeBSD, DOS, Debian, Ubuntu, Fedora и множества других операционных систем – как бесплатных, так и тех, что нацелены на корпоративное использование.

Как работать с cURL

Существует множество команд, которые понимает эта утилита. Их настолько много, что осветить их все мы не можем чисто физически – для этого потребуется написать подробную многостраничную документацию. Её найти вы можете на профильных форумах или на сайте разработчиков, мы же пройдемся по синтаксису. Он достаточно прост и выглядит следующим образом:

$ curl опции ссылка


Что такое ссылка – и так очевидно, а вот возможных опций бывает достаточно много:

  • -# – показать прогресс загрузки;
  • -0 – перейти на протокол HTTP 1.0;
  • -1 – инициирует использование протокола шифрования tlsv1;
  • -2 – переход на sslv2;
  • -3 – переход на sslv3;
  • -4 – переход на ipv4;
  • -6 – переход на ipv6;
  • -A – указать свой USER_AGENT;
  • -b – сохранение cookie в виде файла;
  • -c – передать cookies на сервер из файла;
  • -C – возобновить загрузку файла с места разрыва или указанного смещения;
  • -m – предельное время ожидания ответа сервера;
  • -d – передать данные методом POST;
  • -D – сохраняет заголовки, которые вернул сервер, в файл;
  • -e – задать поле Referer-uri, указывает с какого сайта пришел пользователь;
  • -E – инициирует использование внешнего сертификата SSL;
  • -f – запрещает выводить сообщения типа Error;
  • -F – передать данные в виде формы;
  • -G – активация этой опции инициирует передачу всех данных, указанных в опции -d, методом GET;
  • -H – отправить заголовки на server;
  • -I – получать HTTP заголовок с игнорированием содержимого страницы;
  • -j – прочитать и отправить cookie из файла;
  • -J – удаляет заголовок из запроса;
  • -L – прием и обработка перенаправлений;
  • -s – показать максимальное количество перенаправлений с помощью Location;
  • -o – выводить контент страницы в файл;
  • -O – сохранять контент в файл с именем страницы или файла на сервере;
  • -p – использовать прокси;
  • --proto – позволяет задать предпочтительный протокол передачи данных;
  • -R – сохранять время последнего изменения удаленного файла;
  • -s – минимизировать вывод сведений об ошибках;
  • -S – показывать сообщения об ошибках;
  • -T – выгрузить файл на сервер;
  • -v – максимально подробный вывод;
  • -y – минимизировать скорость загрузки;
  • -Y – максимизировать скорость загрузки;
  • -V – показать версию.

Как видите, синтаксис cURL чувствителен к регистру, так что будьте внимательны.

Примеры использования cURL в PHP

Проще всего с помощью Libcurl реализовать генерацию POST-запросов. Для этого необходимо лишь инициировать сессию cURL, установить необходимые опции, а затем выполнить запрос. Вот простой и наглядный пример:

<?php
// Поиск книг на сервере amazon.com
$url = "http://www.amazon.com/exec/obidos/search-handle-form/002-5640957-2809605";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // add POST fields
$result = curl_exec($ch); // run the whole process
curl_close($ch);  
echo $result;
?>
 
<?php
// HTTP authentication
$url = "http://www.example.com/protected/";
$ch = curl_init();  	
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_URL, $url);  
curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword");  
$result = curl_exec($ch);  
curl_close($ch);  
echo $result;
?>
 
<?PHP
// FTP this script to a server
$fp = fopen(__FILE__, "r");
$url = "ftp://username:password@mydomain.com:21/path/to/newfile.php";
$ch = curl_init();  	
curl_setopt($ch, CURLOPT_URL, $url);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_UPLOAD, 1);  
curl_setopt($ch, CURLOPT_INFILE, $fp);  
curl_setopt($ch, CURLOPT_FTPASCII, 1);  
curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__));  
$result = curl_exec($ch);  
curl_close($ch);  

?>


Чтобы лучше разобраться, как работает cURL, рекомендуем внимательно изучить официальную документацию от разработчиков, или обратиться к опытным системным администраторам за разъяснениями. На этом мы заканчиваем наш материал и благодарим за внимание!

Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

6.29

При оплате за год

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 32768
OS
CentOS
Software
Software
Keitaro

При оплате за месяц

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 16384 Linux

231

При оплате за год

-8.8%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
400 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 16384 Windows

45.8

При оплате за год

-7.9%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 8192 Windows

26.04

При оплате за год

-21%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
8 TB
wKVM-SSD 8192 Metered Windows

65

При оплате за год

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 2048 HK Windows

26

При оплате за год

-8.6%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 8192 Windows

42.3

При оплате за год

-18.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
2 TB
wKVM-SSD 2048 Metered Windows

24

При оплате за год

-26.7%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
1 TB
KVM-SSD 1024 Metered Linux

10

При оплате за год

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.