Heim > Artikel > Backend-Entwicklung > Welche Methoden gibt es, um eine URL in PHP anzufordern?
Eine Zusammenfassung verschiedener Methoden zum Öffnen von URL-Adressen in PHP. Die Funktionen hier werden hauptsächlich für Funktionen wie die Sammlung von Dieben verwendet.
1: Verwenden Sie file_get_contents
, um den Inhalt im Get-Modus abzurufen
<?php $url='www.baidu.com/'; $html = file_get_contents($url); //print_r($http_response_header); ec($html); printhr(); printarr($http_response_header); printhr(); ?>
Beispielcode 2: Verwenden Sie fopen, um die URL zu öffnen,
Den Inhalt in der Get-Methode abrufen
<? $fp = fopen($url, 'r'); printarr(stream_get_meta_data($fp)); printhr(); while(!feof($fp)) { $result .= fgets($fp, 1024); } echo "url body: $result"; printhr(); fclose($fp); ?>
Beispielcode 3: Verwenden Sie die Funktion „file_get_contents“, um die URL in der Post-Methode abzurufen
<?php $data = array ('foo' => 'bar'); $data = http_build_query($data); $opts = array ( 'http' => array ( 'method' => 'POST', 'header'=> "Content-type: application/x-www-form-urlencoded" . "Content-Length: " . strlen($data) . "", 'content' => $data ), ); $context = stream_context_create($opts); $html = file_get_contents('localhost/e/admin/test.html', false, $context); echo $html; ?>
Beispielcode 4: Verwenden Sie die Funktion fsockopen, um die URL in der Get-Methode zu öffnen. Erhalten Sie vollständige Daten, einschließlich Header und Text.
<? function get_url ($url,$cookie=false) { $url = parse_url($url); $query = $url[path]."?".$url[query]; ec("Query:".$query); $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30); if (!$fp) { return false; } else { $request = "GET $query HTTP/1.1"; $request .= "Host: $url[host]"; $request .= "Connection: Close"; if($cookie) $request.="Cookie: $cookie\n"; $request.=""; fwrite($fp,$request); while(!@feof($fp)) { $result .= @fgets($fp, 1024); } fclose($fp); return $result; } } //获取url的html部分,去掉header function GetUrlHTML($url,$cookie=false) { $rowdata = get_url($url,$cookie); if($rowdata) { $body= stristr($rowdata,""); $body=substr($body,4,strlen($body)); return $body; } return false; } ?>
Bei der Suche ist in Zeile 4 des Programms ein Problem aufgetreten Relevante Informationen, ich habe festgestellt, dass es viele Methoden gibt. Erfahren Sie mehr über die fünf Methoden zum Anfordern von URLs in PHP, einschließlich der Verwendung der Funktion fopen(), der Funktion file() und file_get_contents ()-Funktion, curl() zum Anfordern von Remote-URL-Daten und exec() zum Ausführen von Befehlszeilenbefehlen
Dieser Artikel stellt Ihnen hauptsächlich die fünf Methoden zum Anfordern von URLs in PHP vor und stellt sie als Referenz vor Werfen wir ohne weiteres einen Blick auf die ausführliche Einführung:
Fünf Methoden:
Die erste Drei sind grundlegende PHP-Dateioperationsfunktionen
ist die PHP-Erweiterung, die unter Linux aktiviert werden muss curl()
Hier werden nur Methoden aufgeführt. Die Vor- und Nachteile erfordern ein detailliertes Verständnis der Funktionen und Nachteile jeder Methode. exec()
2. file()-Funktion
$file = fopen("www.jb51.net", "r") or die("打开远程文件失败!"); while (!feof($file)) { $line = fgets($file, 1024); //使用正则匹配标题标记 if (preg_match("/<title>(.*)<\/title>/i", $line, $out)) { $title = $out[1]; //将标题标记中的标题字符取出 break; //退出循环,结束远程文件读取 } } fclose($file);
3. file_get_contents() Funktion
$lines = file("www.jb51.net/article/48866.htm"); readfile(www.jb51.net/article/48866.htm);
4. curl() fordert Remote-URL-Daten an
$content = file_get_contents(www.jb51.net/article/48866.htm);
5. exec() führt den Kommandozeilenbefehl
aus
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es, um eine URL in PHP anzufordern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!