Maison > développement back-end > tutoriel php > Comment puis-je modifier ma fonction PHP `get_web_page` pour gérer les requêtes HTTPS à l'aide de cURL ?

Comment puis-je modifier ma fonction PHP `get_web_page` pour gérer les requêtes HTTPS à l'aide de cURL ?

Susan Sarandon
Libérer: 2024-12-16 18:53:10
original
172 Les gens l'ont consulté

How Can I Modify My PHP `get_web_page` Function to Handle HTTPS Requests Using cURL?

PHP CURL & HTTPS

Cet article vise à aborder la problématique de l'implémentation de la fonction get_web_page pour les requêtes HTTPS en PHP utilisant CURL.

La fonction fournie gère parfaitement les requêtes HTTP. Cependant, lorsqu’il s’agit de connexions HTTPS, il rencontre des difficultés. Pour résoudre ce problème, nous allons incorporer une modification essentielle dans la fonction.

En ajoutant la ligne suivante au tableau d'options :

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false)
Copier après la connexion

nous demandons à CURL de désactiver la vérification du certificat SSL. C'est une solution rapide, mais elle augmente également votre vulnérabilité aux attaques de l'homme du milieu.

Alternativement, vous pouvez inclure cette modification directement dans la fonction :

/**
 * Get a web file (HTML, XHTML, XML, image, etc.) from a URL.  Return an
 * array containing the HTTP server response header fields and content.
 */
function get_web_page( $url )
{
    $options = array(
        CURLOPT_RETURNTRANSFER => true,     // return web page
        CURLOPT_HEADER         => false,    // don't return headers
        CURLOPT_FOLLOWLOCATION => true,     // follow redirects
        CURLOPT_ENCODING       => "",       // handle all encodings
        CURLOPT_USERAGENT      => "spider", // who am i
        CURLOPT_AUTOREFERER    => true,     // set referer on redirect
        CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
        CURLOPT_TIMEOUT        => 120,      // timeout on response
        CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
        CURLOPT_SSL_VERIFYPEER => false     // Disabled SSL Cert checks
    );

    $ch      = curl_init( $url );
    curl_setopt_array( $ch, $options );
    $content = curl_exec( $ch );
    $err     = curl_errno( $ch );
    $errmsg  = curl_error( $ch );
    $header  = curl_getinfo( $ch );
    curl_close( $ch );

    $header['errno']   = $err;
    $header['errmsg']  = $errmsg;
    $header['content'] = $content;
    return $header;
}
Copier après la connexion

Avec Avec cette modification, la fonction get_web_page gérera efficacement les requêtes HTTP et HTTPS.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal