在php中可以采集远程页面的函数有很多,如有file_get_contents(),fopen,file()这些函数都可采集远程服务器数据,但是要算性能curl最可,他支持支持多线程,代码如下:
1 2 3 4 5 6 7 8 9 10 11 | $curlPost = 'a=1&b=2';
$ch = curl_init();
curl_setopt( $ch , CURLOPT_HTTPHEADER, array ('X-FORWARDED-FOR:0.0.0.0', 'CLIENT-IP:0.0.0.0'));
curl_setopt( $ch , CURLOPT_REFERER, "http://www.phprm.com/" ); //构造来路
curl_setopt( $ch ,CURLOPT_URL, 'http:
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt ( $ch , CURLOPT_TIMEOUT, 30);
curl_setopt( $ch , CURLOPT_POSTFIELDS, $curlPost );
$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.