Maison  >  Article  >  développement back-end  >  CURL peut-il être une alternative à file_get_contents pour récupérer des liens externes ?

CURL peut-il être une alternative à file_get_contents pour récupérer des liens externes ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-17 21:34:30719parcourir

Can CURL Be an Alternative to file_get_contents for Fetching External Links?

Utilisation de CURL pour récupérer des liens externes (alternative à file_get_contents)

Pour récupérer des liens externes sur une page spécifique, la fonction file_get_contents est généralement utilisée . Cependant, lorsque le serveur que vous utilisez ne prend pas en charge cette fonction, CURL peut constituer une alternative viable.

Pour implémenter CURL, vous pouvez utiliser le code suivant :

function file_get_contents_curl($url) {
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}

// Usage Example
echo file_get_contents_curl('http://google.com');

Mais dans les cas où ce code renvoie une page vierge, il est probable qu'il soit nécessaire d'activer la redirection d'URL. Pour résoudre ce problème, modifiez le code de la manière suivante :

function file_get_contents_curl($url) {
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);       

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn