Knižnica PHP `cURL` je vhodným spôsobom na sťahovanie údajov z cudzieho servera.
Na základe dotazu zostaví požiadavku HTTP, ktorú odošle na cieľový server, a po stiahnutí obsahuje rozhranie API na (relatívne) jednoduchú manipuláciu s údajmi.
Na rozdiel od natívnej funkcie file_get_contents
(prostredníctvom ktorej môžeme tiež zadávať požiadavky HTTP) ponúka oveľa lepšie možnosti konfigurácie a sťahuje stránky/súbory ako skutočný prehliadač.
Funkcia
file_get_contents
interne používa knižnicucURL
, len nemá tak podrobné konfiguračné možnosti.
Často je užitočné zistiť, či bola aktuálna požiadavka vykonaná prostredníctvom cUrl
alebo klasicky v prehliadači.
V PHP neexistuje priama implementácia tejto funkcie, ale môžeme si ju napísať sami:
function isCurl(): bool{return str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'curl');}
Ak máte Linux a jeho terminál alebo používate Mac, skúste tento príkaz:
curl https://php.baraja.cz/curl
Príkaz vykoná internú požiadavku na túto stránku a vráti výsledok.
Ak aplikácia nezistila požiadavku cURL, HTML sa vráti, ako keby požiadavka prišla z prehliadača. Keďže sa však typy požiadaviek zisťujú, nič nám nebráni vrátiť vyčistený článok Markdown.
Výhodou sú potom oveľa lepšie vyčistené údaje. Používateľovi v prehliadači zobrazíme formátované HTML, ale robotovi iba základný obsah.
Ak hľadáte podrobné informácie o používaní cUrl, odporúčam prečítať si oficiálnu dokumentáciu, ktorá je vždy aktuálna.
Na bežné použitie je k dispozícii knižnica Guzzle, ktorá spracováva
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: ... | sk