Конвертировать curl в PHP
curl2code преобразует команды curl в код PHP с использованием расширения cURL или библиотеки Guzzle. Конвертация выполняется в вашем браузере через WebAssembly для полной конфиденциальности. Для похожих серверных языков ознакомьтесь с нашим конвертером curl в Python или curl в Ruby. Ниже приведены практические примеры на PHP.
Как скопировать curl из браузера
- 1
Откройте DevTools
Нажмите F12 или Ctrl+Shift+I, чтобы открыть инструменты разработчика в браузере.
- 2
Перейдите на вкладку Network
Нажмите на вкладку Network и выполните действие, которое инициирует HTTP-запрос.
- 3
Скопируйте как cURL
Нажмите правой кнопкой мыши на запрос → Copy → Copy 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 генерирует код для обоих вариантов — выберите нужный в выпадающем списке языков.