PHP:
Hämta en webbsida

How to:

För att ladda ner en webbsida med PHP, använd file_get_contents() eller cURL-biblioteket. Här är grundläggande exempel:

<?php
// Använda file_get_contents()
$htmlContent = file_get_contents('http://example.com');
echo $htmlContent;

// Använda cURL
$ch = curl_init('http://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$htmlContent = curl_exec($ch);
curl_close($ch);
echo $htmlContent;
?>

Förväntad utdata är HTML-innehållet från ‘http://example.com’.

Deep Dive

Innan file_get_contents() och cURL dök upp, användes GP/IP socket-anslutningar för att ladda ner webbsidor – klumpigare och mer lågnivå. file_get_contents() är enkel men erbjuder mindre kontroll, medan cURL stödjer omfattande alternativ som headers, HTTP-metoder och cookies, vilket är viktigt när du hanterar mer komplexa scenarion.

Förutom dessa två finns bibliotek som Guzzle för ännu mer avancerad hantering av HTTP-förfrågningar i PHP. Guzzle ger en modern, kraftfull och flexibel HTTP klient för att bygga och skicka förfrågningar.

När det gäller implementationen bör vi överväga tid för timeout, felsökning och hantering av omdirigeringar. Kom ihåg att konfigurera PHP för att tillåta externa URL-förfrågningar när du använder file_get_contents().

See Also