Конвертувати 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?
Розширення 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.