Heim  >  Artikel  >  Backend-Entwicklung  >  So crawlen Sie nur den Header der Webseite in PHP

So crawlen Sie nur den Header der Webseite in PHP

藏色散人
藏色散人Original
2021-10-14 09:16:201926Durchsuche

So verwenden Sie PHP, um nur den Webseiten-Header abzurufen: 1. Verwenden Sie die Funktion „get_headers()“; 2. Verwenden Sie die Funktion „stream_get_meta_data()“; 4. Verwenden Sie PHP-CURL, um den Webseiten-Header abzurufen .

So crawlen Sie nur den Header der Webseite in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Wie kann ich mit PHP nur den Webseiten-Header crawlen?

4 Möglichkeiten, Webseiten-Header-Informationen in PHP abzurufen

Es gibt viele Möglichkeiten, Webseiten-Header-Informationen in PHP abzurufen. Was die PHP-Sprache betrifft, gibt es 4 Methoden, die ich kenne, und ich werde sie vorstellen einer nach dem anderen unten.

Methode 1: Verwenden Sie die Funktion get_headers()

Empfehlungsindex: ★★★★★

Die get_header-Methode ist die einfachste und erfordert nur zwei Codezeilen. Wie folgt:

$thisurl = "http://www.lao8.org/";
print_r(get_headers($thisurl, 1));

Das Ergebnis ist:

Array
(
    [0] => HTTP/1.1 200 OK
    [Cache-Control] => max-age=86400
    [Content-Length] => 76102
    [Content-Type] => text/html
    [Content-Location] => http://www.lao8.org/index.html
    [Last-Modified] => Fri, 19 Jul 2013 03:52:30 GMT
    [Accept-Ranges] => bytes
    [ETag] => "50bc48643384ce1:5cb3"
    [Server] => Microsoft-IIS/6.0
    [X-Powered-By] => ASP.NET
    [Date] => Fri, 19 Jul 2013 09:06:39 GMT
    [Connection] => close
)

Methode 2: Verwenden Sie http_response_header

Empfohlener Index: ★★★

Die http_response_headerf-Methode ist ebenfalls sehr einfach, mit nur drei Zeilen:

$thisurl = "http://www.lao8.org";
$html = file_get_contents($thisurl ); 
print_r($http_response_header);

Das Ergebnis ist:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Cache-Control: max-age=86400
    [2] => Content-Length: 76102
    [3] => Content-Type: text/html
    [4] => Content-Location: http://www.lao8.org/index.html
    [5] => Last-Modified: Fri, 19 Jul 2013 03:52:30 GMT
    [6] => Accept-Ranges: bytes
    [7] => ETag: "50bc48643384ce1:5cb3"
    [8] => Server: Microsoft-IIS/6.0
    [9] => X-Powered-By: ASP.NET
    [10] => Date: Fri, 19 Jul 2013 09:06:41 GMT
    [11] => Connection: close
)

Methode Drei: Verwenden Sie die Funktion stream_get_meta_data()

Empfohlener Index: ★★★

Für die Verwendung von stream_get_meta_data() sind nur drei Codezeilen erforderlich:

$thisurl = "http://www.lao8.org/";
$fp = fopen($thisurl, 'r'); 
print_r(stream_get_meta_data($fp));

Das Ergebnis ist:

Array
(
    [wrapper_data] => Array
        (
            [0] => HTTP/1.1 200 OK
            [1] => Cache-Control: max-age=86400
            [2] => Content-Length: 76102
            [3] => Content-Type: text/html
            [4] => Content-Location: http://www.lao8.org/index.html
            [5] => Last-Modified: Fri, 19 Jul 2013 03:52:30 GMT
            [6] => Accept-Ranges: bytes
            [7] => ETag: "50bc48643384ce1:5cb3"
            [8] => Server: Microsoft-IIS/6.0
            [9] => X-Powered-By: ASP.NET
            [10] => Date: Fri, 19 Jul 2013 09:06:41 GMT
            [11] => Connection: close
        )
    [wrapper_type] => http
    [stream_type] => tcp_socket
    [mode] => r+
    [unread_bytes] => 1086
    [seekable] => 
    [uri] => http://www.lao8.org/
    [timed_out] => 
    [blocked] => 1
    [eof] => 
)

Die vierte Methode: Verwenden Sie die erweiterte PHP-Funktion CURL ( ), um den

Empfehlungsindex: ★★★★

zu erhalten. Mit den oben genannten drei Methoden können Sie allgemeine Header-Informationen für Webseiten abrufen, z. B. ob auf der Webseite die GZip-Komprimierung aktiviert ist. Zu diesem Zeitpunkt können Sie die erweiterte PHP-Funktion „curl()“ verwenden, um sie abzurufen.

Die Verwendung von Curl zum Abrufen des Headers kann die GZip-Komprimierung erkennen.

Posten Sie zuerst den Code:

<?php
$szUrl = &#39;http://www.lao8.org/&#39;;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $szUrl);
curl_setopt($curl, CURLOPT_HEADER, 1);  //输出header信息
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  //不显示网页内容
curl_setopt($curl, CURLOPT_ENCODING, &#39;&#39;); //允许执行gzip
$data=curl_exec($curl); 
if(!curl_errno($curl))
{
    $info = curl_getinfo($curl);
    $httpHeaderSize = $info[&#39;header_size&#39;];  //header字符串体积
    $pHeader = substr($data, 0, $httpHeaderSize); //获得header字符串
    $split   = array("rn", "n", "r");  //需要格式化header字符串
    $pHeader = str_replace($split, &#39;<br>&#39;, $pHeader); //使用<br>换行符格式化输出到网页上
    echo $pHeader;
}
?>

Die Ausgabeergebnisse lauten wie folgt:

HTTP/1.1 200 OK
Cache-Control: max-age=86400
Content-Length: 15189
Content-Type: text/html
Content-Encoding: gzip
Content-Location: http://www.lao8.org/index.html
Last-Modified: Fri, 19 Jul 2013 03:52:28 GMT
Accept-Ranges: bytes
ETag: "0268633384ce1:5cb3"
Vary: Accept-Encoding
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Fri, 19 Jul 2013 09:27:21 GMT

Sie können sehen, dass die mit Curl erhaltenen Header-Informationen diese Zeile haben: Inhaltskodierung: gzip, auf der Webseite ist die GZip-Komprimierung aktiviert.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo crawlen Sie nur den Header der Webseite in PHP. 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