Heim  >  Artikel  >  Backend-Entwicklung  >  Wie geht PHP Curl mit 301-Weiterleitungen auf Webseiten um?

Wie geht PHP Curl mit 301-Weiterleitungen auf Webseiten um?

WBOY
WBOYOriginal
2024-03-08 16:36:04666Durchsuche

PHP Curl如何处理网页的301跳转?

Titel: Wie geht PHP Curl mit 301-Weiterleitungen auf Webseiten um?

Beim Web-Crawling oder Data-Scraping kommt es häufig vor, dass Webseiten auf Anfrage 301-Weiterleitungen zurückgeben. Zu diesem Zeitpunkt müssen wir PHP Curl verwenden, um diese Situation zu bewältigen und sicherzustellen, dass der Inhalt der Zielwebseite korrekt abgerufen werden kann. Im folgenden Beispiel werde ich demonstrieren, wie man PHP Curl verwendet, um 301-Weiterleitungen zu Webseiten zu verarbeiten. Lass uns einen Blick darauf werfen.

<?php

// 目标网页的URL
$url = 'https://example.com';

// 初始化Curl
$ch = curl_init();

// 设置Curl选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 开启自动跳转

// 执行Curl请求
$response = curl_exec($ch);

// 检查是否发生301跳转
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 301) {
    // 获取重定向后的URL
    $redirectUrl = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
    
    // 重新请求重定向后的URL
    curl_setopt($ch, CURLOPT_URL, $redirectUrl);
    $response = curl_exec($ch);
}

// 关闭Curl
curl_close($ch);

// 输出获取到的页面内容
echo $response;

?>

Im obigen Beispiel definieren wir zunächst die URL der Zielseite und initialisieren eine Curl-Sitzung. Legen Sie dann einige Curl-Optionen fest, einschließlich der Einstellung der Option zum Verfolgen von 301-Weiterleitungen auf „True“. Führen Sie dann eine Curl-Anfrage aus, um den Webseiteninhalt abzurufen.

Wir verwenden die Funktion „curl_getinfo“, um zu überprüfen, ob der angeforderte HTTP-Statuscode 301 ist. Wenn es sich um eine 301-Weiterleitung handelt, erhalten wir die umgeleitete URL und verwenden Curl erneut, um die umgeleitete URL anzufordern, um den endgültigen Inhalt zu erhalten. Schließen Sie abschließend die Curl-Sitzung und geben Sie den erhaltenen Seiteninhalt aus.

Durch das obige Beispiel können wir den 301-Sprung der Webseite erfolgreich bewältigen und sicherstellen, dass der Inhalt der Zielwebseite bei Verwendung von PHP Curl korrekt abgerufen werden kann. Hoffe es hilft dir!

Das obige ist der detaillierte Inhalt vonWie geht PHP Curl mit 301-Weiterleitungen auf Webseiten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn