Maison >développement back-end >tutoriel php >Quelles sont les méthodes pour demander une URL en php
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='www.baidu.com/'; $html = file_get_contents($url); //print_r($http_response_header); ec($html); printhr(); printarr($http_response_header); printhr(); ?>
Exemple de code 2 : Utilisez fopen pour ouvrir l'URL,
Récupérez le contenu dans la méthode get
<? $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); ?>
Exemple de code 3 : utilisez la fonction file_get_contents pour obtenir l'URL dans la méthode post
<?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; ?>
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; } ?>
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. >
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.
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);
3. Fonction file_get_contents()
$lines = file("www.jb51.net/article/48866.htm"); readfile(www.jb51.net/article/48866.htm);
4. curl() demande des données d'URL distantes
$content = file_get_contents(www.jb51.net/article/48866.htm);
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!