php 模拟发送 get 请求的几种方法总结。
(1)php 通过 file_get_contents 模拟发送 get 请求
<?php $url='http://www.phpernote.com/php-function/654.html'; $re=file_get_contents($url); print_r($re);
(2)php 通过 curl 模拟发送 get 请求
<?php $ch=curl_init('http://www.phpernote.com/php-function/651.html'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_BINARYTRANSFER,true); $output=curl_exec($ch); $fh=fopen("out.html",'w'); fwrite($fh,$output); fclose($fh);
(3)php 通过 fsocket 模拟发送 get 请求
<?php function sock_get($url){ $info=parse_url($url); $fp=fsockopen($info["host"],80,$errno,$errstr,3); $head="GET ".$info['path']."?".$info["query"]." HTTP/1.0\r\n"; $head.="Host: ".$info['host']."\r\n"; $head.="\r\n"; $write=fputs($fp,$head); while(!feof($fp)){ $line=fgets($fp); echo $line."<br>"; } }
该函数的使用方法如下:
$url='http://www.phpernote.com/jquery-effects/650.html?page=2'; echo "以下是GET方式的响应内容:<br>"; sock_get($url);