La procédure normale d'exploration de la page CURL de PHP est la suivante :
$url = 'http://www.baidu.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch);
Si vous explorez le statut 302, c'est parce que pendant le processus d'exploration, certains sauts doivent être effectués. Le lien suivant passe les paramètres , et le lien suivant le définit également comme accès illégal si les paramètres correspondants ne sont pas reçus.
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
L'affichage devrait être normal.
Ce qui précède est utilisé pour récupérer la fonction, ce qui ne devrait poser presque aucun problème. Vous pouvez vérifier les informations relatives à CURLOPT_CUSTOMREQUEST.
Utilisez un message de requête personnalisé au lieu de "GET" ou "HEAD" pour la requête HTTP. Ceci est utile pour effectuer "DELETE" ou d'autres requêtes HTTP plus secrètes. Les valeurs valides sont "GET", "POST", "CONNECT", etc. Autrement dit, n'entrez pas l'intégralité de la requête HTTP ici. Par exemple, la saisie de « GET /index.html HTTP/1.0rnrn » est incorrecte.
Pour plus d'exemples d'implémentation de PHP curl pour saisir la page après le saut 302 et les articles associés, veuillez faire attention au site Web PHP chinois !