Конвертировать curl в PHP

curl2code преобразует команды curl в код PHP с использованием расширения cURL или библиотеки Guzzle. Конвертация выполняется в вашем браузере через WebAssembly для полной конфиденциальности. Для похожих серверных языков ознакомьтесь с нашим конвертером curl в Python или curl в Ruby. Ниже приведены практические примеры на PHP.

Как скопировать curl из браузера

  1. 1

    Откройте DevTools

    Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.

  2. 2

    Перейдите на вкладку Network

    Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.

  3. 3

    Скопируйте как cURL

    Нажмите правой кнопкой мыши на запрос → CopyCopy as cURL. Затем вставьте его выше.

Часто задаваемые вопросы

Что такое PHP cURL?

Расширение PHP curl — это обертка над библиотекой C libcurl, предоставляющая мощные возможности HTTP-клиента. Оно поддерживает практически все протоколы и функции, которые поддерживает сам curl. Инициализируйте с помощью curl_init(), устанавливайте опции через curl_setopt() и выполняйте с помощью curl_exec(). curl2code также поддерживает Guzzle и Requests в качестве альтернатив.

PHP cURL против Guzzle против Requests — что использовать?

PHP cURL — это низкоуровневое и встроенное решение, Composer не требуется. Guzzle — самый популярный HTTP-клиент PHP с поддержкой PSR-7, middleware и асинхронных запросов. Requests предлагает простой API для быстрых задач. Используйте Guzzle для современных проектов, PHP cURL для минимальных настроек. Для аналогичных вариантов в других языках см. curl в Python.

Как обрабатывать аутентификацию в PHP?

С cURL: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). Для Basic-аутентификации: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). Guzzle использует 'auth' => ['user', 'pass'] или 'headers' => ['Authorization' => 'Bearer token']. curl2code автоматически обрабатывает флаги -u и Bearer.

Как отправить multipart form data в PHP?

С cURL: передайте массив в CURLOPT_POSTFIELDS, содержащий new CURLFile('path') для файлов. Guzzle использует опцию 'multipart' с массивами полей/файлов. curl2code конвертирует флаги -F в правильный формат для каждого варианта библиотеки PHP.

Как обрабатывать ошибки HTTP в PHP?

С cURL: проверьте curl_errno($ch) на наличие транспортных ошибок и вручную разберите статус ответа. Guzzle выбрасывает RequestException при сбоях — перехватывайте ClientException (4xx), ServerException (5xx) и ConnectException (сеть). Всегда вызывайте curl_close($ch) для освобождения ресурсов.

Как делать асинхронные HTTP-запросы в PHP?

Guzzle поддерживает асинхронность через $client->requestAsync('GET', $url), возвращающий Promise. Используйте Promise\Utils::all() для конкурентных запросов. С cURL используйте функции curl_multi_* для параллельного выполнения. Для по-настоящему асинхронного PHP рассмотрите фреймворки ReactPHP или Amp с их HTTP-клиентами.

Как установить таймауты в PHP?

С cURL: CURLOPT_CONNECTTIMEOUT для соединения и CURLOPT_TIMEOUT для общего времени запроса. Guzzle принимает 'connect_timeout' и 'timeout' в секундах. Они напрямую соответствуют опциям curl --connect-timeout и --max-time.

Как использовать прокси в PHP?

С cURL: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). Для SOCKS5: добавьте CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. Guzzle использует опцию 'proxy' => 'http://proxy:8080'. curl2code конвертирует флаги -x и --proxy в соответствующий PHP-код.

Как отправить POST-запрос с телом JSON на PHP?

Преобразуйте команду curl POST, такую как curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, в PHP с помощью curl2code. Сгенерированный код использует curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). curl2code автоматически обнаруживает флаги -d/--data с содержимым JSON и устанавливает соответствующий заголовок Content-Type в коде cURL.

Как добавить авторизацию через Bearer token на PHP?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код cURL с заголовком авторизации: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). curl2code распознает Bearer tokens как в флагах -H "Authorization: Bearer ...", так и в --oauth2-bearer. Для Basic auth используйте -u user:pass.

Как установить заголовок Content-Type на PHP?

curl2code преобразует curl -H "Content-Type: application/json" URL в код cURL с правильным заголовком: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). Для данных -d curl по умолчанию использует application/x-www-form-urlencoded; для загрузки форм -F используется multipart/form-data. curl2code сопоставляет каждый вариант с подходящим API cURL.

Расширение PHP cURL против Guzzle — что использовать?

Расширение PHP cURL extension (функции curl_*) встроено в PHP и не требует дополнительных зависимостей — идеально для простых запросов или когда нужен минимальный оверхед. Guzzle — это полнофункциональный HTTP клиент с поддержкой middleware, асинхронных запросов, PSR-7/PSR-18 и автоматических повторов. Используйте cURL для легких скриптов, а Guzzle для сложных приложений. curl2code генерирует код для обоих вариантов — выберите нужный в выпадающем списке языков.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки