Бібліотека PHP `cURL` є гарним засобом для завантаження даних з іноземного сервера.
На основі запиту він формує HTTP-запит, який надсилає на цільовий сервер, а після завантаження містить API для (відносно) простої обробки даних.
На відміну від рідної функції file_get_contents
(через яку ми також можемо робити HTTP-запити), вона пропонує набагато кращі можливості налаштування і завантажує сторінки/файли як справжній браузер.
Функція
file_get_contents
внутрішньо використовує бібліотекуcURL
, просто вона не має таких детальних налаштувань.
Часто корисно визначити, чи був поточний запит зроблений через cUrl
або класично в браузері.
Прямої реалізації для цього в PHP немає, але ми можемо самі написати просту функцію:
function isCurl(): bool{return str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'завиток');}
Якщо у вас Linux і його термінал, або ви працюєте на Mac, спробуйте цю команду:
curl https://php.baraja.cz/curl
Команда робить внутрішній запит до цього сайту і повертає результат.
Якщо додаток не виявив cURL-запит, то буде повернуто HTML, як якщо б запит надійшов від браузера. Однак, оскільки типи запитів визначаються, ніщо не заважає нам повернути очищену статтю "Уцінка".
Перевагою в такому випадку є набагато краще очищені дані. Користувачеві в браузері ми показуємо відформатований HTML, а роботу - тільки основний контент.
Якщо ви шукаєте детальну інформацію про використання 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:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | uk