ホームページ >バックエンド開発 >PHPチュートリアル >PHPでURLをリクエストする方法は何ですか

PHPでURLをリクエストする方法は何ですか

零下一度
零下一度オリジナル
2017-07-16 16:39:373856ブラウズ

PHP で URL アドレスを開くいくつかの方法のまとめ。ここでの関数は主に泥棒コレクションなどの関数に使用されます。

1

<?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(); 
?>
サンプルコード 4: fsockopen 関数を使用して URL を開き、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); 
?>

最近開発中に問題が発生しました。 URL をリクエストして関連情報を検索する この記事では、PHP で URL をリクエストする方法として、fopen() 関数、file() 関数、

file_get_contents

() 関数を使用する 5 つの方法を紹介します。リモート URL データをリクエストするcurl() とコマンドラインコマンドを実行する exec()

この記事では主に、PHP で URL をリクエストする 5 つの方法を紹介し、参考と学習のためにそれらを共有します。詳細な紹介を参照してください:

5 つのメソッド:

最初の 3 つは PHP の基本的なファイル操作関数です

curl() は PHP 拡張機能です。 Linux では、インストール

1. fopen()関数

2. file()関数

<?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; 
?>

3.

りー


4 、curl() はリモート URL データを要求します

<? 
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; 
} 
?>


5. exec() はコマンドラインコマンドを実行します

$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);

以上がPHPでURLをリクエストする方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。