>  기사  >  php教程  >  php curl采集远程页面内容演示代码

php curl采集远程页面内容演示代码

WBOY
WBOY원래의
2016-05-24 12:59:101224검색

在php中可以采集远程页面的函数有很多,如有file_get_contents(),fopen,file()这些函数都可采集远程服务器数据,但是要算性能curl最可,他支持支持多线程,代码如下:

$curlPost = 'a=1&b=2';//模拟POST数据 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:0.0.0.0', 'CLIENT-IP:0.0.0.0'));  //构造IP 
curl_setopt($ch, CURLOPT_REFERER, "http://www.phprm.com/");   //构造来路  
curl_setopt($ch,CURLOPT_URL, 'http://www.phprm.com');//需要抓取的页面路径 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt ($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//post值 
//开源代码phprm.com 
$file_contents = curl_exec($ch);//抓取的内容放在变量中 
curl_close($ch)

还有一种办法就是使用file_get_contents()远程文件获取函数,用来获取远程页面内容.

注意事项:curl()效率挺高的,支持多线程,不过需要开启下curl扩展,下面是curl扩展开启的步骤:

1、将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay32.dll复制到system32下;

2、将php.ini(c:WINDOWS目录下)中的;extension=php_curl.dll中的分号去掉; 

3、重启apache或者IIS.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.