Maison > Article > développement back-end > Comment extraire efficacement le contenu d'une page à l'aide de cURL avec gestion des erreurs ?
Lorsque vous tentez de récupérer le contenu HTML d'une page Web à l'aide cURL, il est courant de rencontrer des redirections ou des erreurs de « page déplacée ». Cela peut souvent être attribué à des caractères spécialement codés dans la chaîne de requête.
Pour récupérer efficacement le contenu de la page sans rencontrer ces problèmes, optimisez votre code cURL comme suit :
<code class="php">function get_web_page($url) { $user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'; $options = array( CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_POST => false, CURLOPT_USERAGENT => $user_agent, CURLOPT_COOKIEFILE => "cookie.txt", CURLOPT_COOKIEJAR => "cookie.txt", CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); $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; }</code>
Récupérer et gérer les erreurs potentielles lors de la lecture de la page :
<code class="php">$result = get_web_page($url); if ($result['errno'] != 0) // Error handling for invalid URL, timeout, or redirect loops. if ($result['http_code'] != 200) // Error handling for issues like missing page, permission denial, or unavailability. $page = $result['content'];</code>
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!