Maison > développement back-end > tutoriel php > Quelles sont les méthodes pour demander une URL en php

Quelles sont les méthodes pour demander une URL en php

零下一度
Libérer: 2023-03-14 08:02:01
original
3853 Les gens l'ont consulté

Un résumé de plusieurs méthodes d'ouverture d'adresses URL en PHP. Les fonctions ici sont principalement utilisées pour des fonctions telles que la collecte de voleurs.

1 : Utilisez file_get_contents

pour obtenir le contenu en mode obtenir

<?php 
$url=&#39;www.baidu.com/&#39;; 
$html = file_get_contents($url); 
//print_r($http_response_header); 
ec($html); 
printhr(); 
printarr($http_response_header); 
 
printhr(); 
?>
Copier après la connexion

Exemple de code 2 : Utilisez fopen pour ouvrir l'URL,

Récupérez le contenu dans la méthode get

<? 
$fp = fopen($url, &#39;r&#39;); 
 
printarr(stream_get_meta_data($fp)); 
printhr(); 
while(!feof($fp)) { 
 
$result .= fgets($fp, 1024); 
} 
echo "url body: $result"; 
 
printhr(); 
fclose($fp); 
?>
Copier après la connexion

Exemple de code 3 : utilisez la fonction file_get_contents pour obtenir l'URL dans la méthode post

<?php 
$data = array (&#39;foo&#39; => 
&#39;bar&#39;); 
$data = http_build_query($data); 
$opts = array ( 
&#39;http&#39; 
=> array ( 
&#39;method&#39; => &#39;POST&#39;, 
&#39;header&#39;=> "Content-type: 
application/x-www-form-urlencoded" . 
"Content-Length: " . strlen($data) . 
"", 
&#39;content&#39; => $data 
), 
); 
$context = 
stream_context_create($opts); 
$html = 
file_get_contents(&#39;localhost/e/admin/test.html&#39;, false, $context); 
 
echo $html; 
?>
Copier après la connexion

Exemple de code 4 : Utilisez la fonction fsockopen pour ouvrir l'URL dans la méthode get Obtenir des données complètes, y compris l'en-tête et le corps

<? 
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; 
} 
?>
Copier après la connexion

J'ai récemment rencontré un problème lors du développement. La ligne 4 du programme demandera une URL en recherchant. Informations pertinentes, j'ai trouvé qu'il existe de nombreuses méthodes. Cet article vous le présentera. Découvrez les cinq méthodes de demande d'URL en PHP, notamment l'utilisation de la fonction fopen(), de la fonction file() et de file_get_contents. (), curl() pour demander des données d'URL distantes et exec() pour exécuter des commandes de ligne de commande

Cet article vous présente principalement les cinq méthodes de demande d'URL en PHP, et les partage pour votre référence et. étude. Je ne dirai pas grand-chose ci-dessous, jetons un œil à l'introduction détaillée :

Cinq méthodes :

  • Les trois premiers sont des fonctions de base d'exploitation de fichiers PHP

  • curl() est l'extension php qui doit être activée Sous Linux, elle doit être installée. >

  • La commande wget n'a pas réussi lors du test de la machine virtuelle locale pour demander www.baidu.com, mais elle a fonctionné sur le serveur distant. Compte tenu du problème de résolution DNS, nous l'avons directement. L'adresse IP demandée a téléchargé avec succès le fichier index.html.

    exec()Seules les méthodes sont fournies ici. Les avantages et les inconvénients nécessitent une compréhension détaillée des fonctions et des inconvénients de chaque méthode.

  • 1. Fonction fopen()

2. >

$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);
Copier après la connexion

3. Fonction file_get_contents()


$lines = file("www.jb51.net/article/48866.htm");
readfile(www.jb51.net/article/48866.htm);
Copier après la connexion

4. curl() demande des données d'URL distantes


$content = file_get_contents(www.jb51.net/article/48866.htm);
Copier après la connexion

5. exec() exécute la commande de ligne de commande

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal