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


Posted in PHP onJanuary 11, 2012
<?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

感觉挺好用的:)
PHP 相关文章推荐
php获得当前的脚本网址
Dec 10 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
php strftime函数的详细用法
Jun 21 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
PHP 日,周,月点击排行统计
Jan 11 #PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 #PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 #PHP
php 带逗号千位符数字的处理方法
Jan 10 #PHP
php mysql 判断update之后是否更新了的方法
Jan 10 #PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 #PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 #PHP
You might like
PHP EOT定界符的使用详解
2008/09/30 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
Node.js实现文件上传
2016/07/05 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
Python中str.format()详解
2017/03/12 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
在pycharm中显示python画的图方法
2019/08/31 Python
python 表格打印代码实例解析
2019/10/12 Python
Python内置函数locals和globals对比
2020/04/28 Python
python使用建议与技巧分享(二)
2020/08/17 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
小学语文教学反思
2014/02/10 职场文书
第一批党的群众路线教育实践活动总结报告
2014/07/03 职场文书