PHP Manual

cURL в PHP - завантаження даних через URL

15. 02. 2020

Obsah článku

Бібліотека PHP `cURL` є гарним засобом для завантаження даних з іноземного сервера.

На основі запиту він формує HTTP-запит, який надсилає на цільовий сервер, а після завантаження містить API для (відносно) простої обробки даних.

На відміну від рідної функції file_get_contents (через яку ми також можемо робити HTTP-запити), вона пропонує набагато кращі можливості налаштування і завантажує сторінки/файли як справжній браузер.

Функція file_get_contents внутрішньо використовує бібліотеку cURL, просто вона не має таких детальних налаштувань.

Визначення режиму cURL в запиті

Часто корисно визначити, чи був поточний запит зроблений через cUrl або класично в браузері.

Прямої реалізації для цього в PHP немає, але ми можемо самі написати просту функцію:

function isCurl(): bool
{
return str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'завиток');
}

Якщо у вас Linux і його термінал, або ви працюєте на Mac, спробуйте цю команду:

curl https://php.baraja.cz/curl

Команда робить внутрішній запит до цього сайту і повертає результат.

Якщо додаток не виявив cURL-запит, то буде повернуто HTML, як якщо б запит надійшов від браузера. Однак, оскільки типи запитів визначаються, ніщо не заважає нам повернути очищену статтю "Уцінка".

Перевагою в такому випадку є набагато краще очищені дані. Користувачеві в браузері ми показуємо відформатований HTML, а роботу - тільки основний контент.

Детальне використання API в PHP

Якщо ви шукаєте детальну інформацію про використання cUrl, рекомендую ознайомитися з офіційною документацією, яка завжди є актуальною.

Для повсякденного використання існує бібліотека Guzzle, яка обробляє

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
3.
Status:
All systems normal.
2024