PHP: Отправка HTTP-запросов с помощью php curl

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 => '&lt;username&gt;:&lt;password&gt;',
    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

PHP 1.2 г. Просмотров: 658
Оценить код:

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.