PHP cURL (Client URL Library) — это библиотека для отправки HTTP-запросов и получения ответов от веб-серверов. С помощью cURL можно создавать автоматические программы, которые могут взаимодействовать с веб-сервисами и получать данные с других веб-сайтов.
Примеры использования PHP cURL:
Пример 1: Отправка GET-запроса на URL и получение ответа:
В этом примере мы отправляем GET-запрос на URL https://www.example.com/api/handler/ и получаем ответ от сервера. Функция curl_setopt_array() используется для настройки параметров запроса, включая URL-адрес, заголовки, тип запроса и другие параметры.
$url = 'https://www.example.com/api/handler/';
$curl = curl_init();
curl_setopt_array( $curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '.
'AppleWebKit/537.36 (KHTML, like Gecko) '.
'Chrome/58.0.3029.110 Safari/537.36'
]);
$response = curl_exec( $curl );
curl_close( $curl );
echo $response;
Пример 2: Отправка POST-запроса на URL и получение ответа:
В этом примере мы отправляем POST-запрос на URL https://www.example.com/api/handler/, передавая параметры username и password. Функция curl_setopt_array() используется для настройки параметров запроса, включая URL-адрес, заголовки, тип запроса и другие параметры.
$url = 'https://www.example.com/api/handler/';
$data = [
'username' => 'admin',
'password' => 'secret'
];
$curl = curl_init();
curl_setopt_array( $curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '.
'AppleWebKit/537.36 (KHTML, like Gecko) '.
'Chrome/58.0.3029.110 Safari/537.36'
]);
$response = curl_exec( $curl );
curl_close( $curl );
echo $response;
Пример 3: Загрузка файла на сервер с помощью POST-запроса:
В этом примере мы загружаем файл file.jpg на сервер с помощью POST-запроса на URL https://www.example.com/upload.php. Мы используем функцию CURLFile() для передачи файла в запросе.
$url = 'https://www.example.com/upload.php';
$file_path = '/path/to/file.jpg';
$curl = curl_init();
curl_setopt_array( $curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => [
'file' => new CURLFile( $file_path )
],
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '.
'AppleWebKit/537.36 (KHTML, like Gecko) '.
'Chrome/58.0.3029.110 Safari/537.36'
]);
$response = curl_exec( $curl );
curl_close( $curl );
echo $response;
Пример 4: Установка пользовательских заголовков и настройка соединения:
В этом примере мы устанавливаем пользовательские заголовки Authorization и Content-Type, а также настраиваем соединение с помощью параметров CURLOPT_CONNECTTIMEOUT и CURLOPT_TIMEOUT. Функция curl_setopt_array() используется для настройки параметров запроса, включая URL-адрес, заголовки, тип запроса и другие параметры.
$url = 'https://www.example.com/api/handler/';
$header = [
'Authorization: Bearer <token>',
'Content-Type: application/json'
];
$curl = curl_init();
curl_setopt_array( $curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => $header,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '.
'AppleWebKit/537.36 (KHTML, like Gecko) '.
'Chrome/58.0.3029.110 Safari/537.36'
]);
$response = curl_exec( $curl );
curl_close( $curl );
echo $response;
Пример 5: Использование прокси-сервера:
В этом примере мы используем прокси-сервер http://proxy.example.com:8080 для отправки запроса. Мы также передаем имя пользователя и пароль для аутентификации на прокси-сервере с помощью параметра CURLOPT_PROXYUSERPWD. Функция curl_setopt_array() используется для настройки параметров запроса, включая URL-адрес, заголовки, тип запроса и другие параметры.
$url = 'https://www.example.com/api/handler/';
$proxy = 'http://proxy.example.com:8080';
$curl = curl_init();
curl_setopt_array( $curl, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_PROXY => $proxy,
CURLOPT_PROXYUSERPWD => '<username>:<password>',
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '.
'AppleWebKit/537.36 (KHTML, like Gecko) '.
'Chrome/58.0.3029.110 Safari/537.36'
]);
$response = curl_exec( $curl );
curl_close( $curl );
echo $response;
Это лишь небольшой список возможностей, которые предоставляет PHP cURL. Библиотека имеет множество других параметров и функций, которые можно использовать для настройки и отправки запросов. Документацию по PHP cURL можно найти на официальном сайте PHP: https://www.php.net/manual/ru/book.curl.php
Комментарии
0Нашли ошибку или хотите дополнить материал?