1、fopen方式 //访问指定URL函数
function access_url($url) {
if($url=='') return false;
$fp = fopen($url, 'r') or exit('Open url faild!');
if($fp){
while(!feof($fp)) {
$file .= fgets($fp) . "";
}
fclose($fp);
}
return $file;
}
2、file_get_contents方式 (打开远程文件的时候会造成CPU飙升。file_get_contents其实也可以post)
//
以post方式获取url
$data = array ('foo' => 'bar');
$data = http_build_query($data);
$opts['http'] = array (
'method' => 'POST',
'header'=> "Content-type:application/x-www-form-urlencodedrn".
"Content-Length: " . strlen($data) . "rn",
'content' => $data
);
$context = stream_context_create($opts);
$html = file_get_contents('http://localhost/test.html', false, $context);
echo $html;
3、curl方式
function curl_file_get_contents($durl){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; // 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
4、fsockopen方式(只能获取网站主页信息,其他页面不可以)
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
(!$fp) {
echo "$errstr ($errno)
\n";
}else {
$out="GET / HTTP/1.1\r\n";
$out.="Host: www.example.com\r\n";
$out.="Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}