Конвертувати 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?

Розширення curl у PHP — це обгортка навколо бібліотеки 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 дані форми в 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-токена у PHP?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код cURL із заголовком авторизації: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). curl2code виявляє Bearer-токени як у прапорцях -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 зіставляє кожен варіант із правильним cURL API.

Розширення PHP cURL проти Guzzle — що вибрати?

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

Корисні посилання

Посібники з curl

Конвертувати curl в інші мови