PHP-biblioteket `cURL` är ett bra sätt att hämta data från en utländsk server.
Baserat på en förfrågan skapar den en HTTP-förfrågan som skickas till målservern och när den väl har laddats ner innehåller den ett API för (relativt) enkel datahantering.
Till skillnad från den inhemska funktionen file_get_contents
(genom vilken vi också kan göra HTTP-förfrågningar) erbjuder den mycket bättre konfigurationsalternativ och laddar ner sidor/filer som en riktig webbläsare.
Funktionen
file_get_contents
använder biblioteketcURL
internt, men har inte lika detaljerade konfigurationsalternativ.
Det är ofta användbart att upptäcka om den aktuella begäran gjordes via cUrl
eller klassiskt i webbläsaren.
Det finns ingen direkt implementering för detta i PHP, men vi kan skriva en enkel funktion själva:
function isCurl(): bool{return str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'curl');}
Om du har Linux och dess Terminal, eller om du har en Mac, kan du prova det här kommandot:
curl https://php.baraja.cz/curl
Kommandot gör en intern förfrågan till denna webbplats och returnerar resultatet.
Om programmet inte upptäckte cURL-förfrågan kommer HTML-filen att returneras som om förfrågan kom från webbläsaren. Eftersom begäranstyperna upptäcks finns det dock inget som hindrar oss från att returnera en renodlad Markdown-artikel.
Fördelen är att uppgifterna blir mycket bättre rensade. Vi visar den formaterade HTML-koden för användaren i webbläsaren, men endast det grundläggande innehållet för roboten.
Om du letar efter detaljerad användning av cUrl rekommenderar jag att du läser officiell dokumentation, som alltid är uppdaterad.
För tillfällig användning finns det ett Guzzle-bibliotek som hanterar
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: ... | sv