服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - 学习使用curl采集curl使用方法

学习使用curl采集curl使用方法

2019-12-21 15:21PHP教程网 PHP教程

从朋友那拿到一份代码,用CURL模拟用户登录并采集需要用户登录的页面的

代码如下:


<?php 
$cookie_jar = tempnam('./tmp','cookie'); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,'登陆地址'); 
curl_setopt($ch, CURLOPT_POST, 1); 
$request = 'username=xxx&pwd=xxx'; 
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//传递数据 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);//把返回来的cookie信息保存在$cookie_jar文件中 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设定返回的数据是否自动显示 
curl_setopt($ch, CURLOPT_HEADER, false);//设定是否显示头信息 
curl_setopt($ch, CURLOPT_NOBODY, false);//设定是否输出页面内容 
curl_exec($ch); 
curl_close($ch); //get data after login 

$ch2 = curl_init(); 
curl_setopt($ch2, CURLOPT_URL, '查看地址'); 
curl_setopt($ch2, CURLOPT_HEADER, false); 
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar); 
$orders = curl_exec($ch2); 

echo $orders; 
curl_close($ch2);// 实践证明很稳定:) 
?> 


先在本机测试,在php.ini中去掉了extension=php_curl.dll前面的;,查看一下phpinfo(),并没有curl。 
查了下文档, 

复制代码代码如下:


Note to Win32 Users: In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll must be present in your PATH. 


将libeay32.dll 和ssleay32.dll复制到system32下,重启apache,刷新phpinfo(),看到了curl。 
引用 

复制代码代码如下:


cURL support enabled 
cURL Information libcurl/7.16.0 OpenSSL/0.9.8d zlib/1.2.3 


本机测试顺利通过,再去服务器上测试。原没装curl,只好重新编译php。 
在原编译参数后面加了--with-curl=/usr/local/curl。 
我这次的配置是: 

复制代码代码如下:


./configure '--prefix=/usr/local/php5' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-mysql=/usr/local/mysql' '--with-gd=/usr/local/gd' '--with-zlib' '--with-png' '--with-jpeg-dir=/usr/local/jpeg' '--with-freetype-dir=/usr/local/freetype' '--enable-sockets' '--with-iconv' '--enable-mbstring' '--enable-track-vars' '--enable-force-cgi-redirect' '--with-config-file-path=/usr/local/php5/etc' --with-curl=/usr/local/curl 


很快OK。phpinfo显示 
引用 

复制代码代码如下:


CURL support enabled 
CURL Information libcurl/7.12.1 OpenSSL/0.9.7a zlib/1.2.3 libidn/0.5.6 


感觉挺好用的:)

延伸 · 阅读

精彩推荐