Конвертиране на 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 е най-популярният PHP HTTP клиент с поддръжка на 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 данни в 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' в секунди. Те се мапват директно към опциите --connect-timeout и --max-time на curl.

Как да използвам прокси в 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 токени както от -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 в други езици