ホームページ >バックエンド開発 >PHPチュートリアル >PHPでURLをリクエストする方法は何ですか
PHP で URL アドレスを開くいくつかの方法のまとめ。ここでの関数は主に泥棒コレクションなどの関数に使用されます。
1<?php $url='www.baidu.com/'; $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, 'r'); 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 では、インストール
exec()
は、Linux コマンド ラインでコマンド wget を実行します。をダウンロードします。ローカル仮想マシンをテストして www.baidu.com をリクエストするときに wget コマンドが失敗しましたが、リモート サーバーでは機能しました。 DNS 解決の問題が発生したため、IP を直接リクエストし、インデックス .html ファイルを正常にダウンロードしました。 curl()
是php扩展需要开启,linux下需要安装
exec()
ここでは方法のみを紹介します。メリットとデメリットについては、各方法の機能とデメリットを詳細に理解する必要があります。
2. file()関数
<?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; ?>
3.
りー<? 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; } ?>
$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 サイトの他の関連記事を参照してください。