学习使用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连接MySQL代码的参数说明
Jun 07 PHP
PHP 引用是个坏习惯
Mar 12 PHP
php addslashes及其他清除空格的方法是不安全的
Jan 25 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
smarty简单分页的实现方法
Oct 27 PHP
PHP中余数、取余的妙用
Jun 29 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
Laravel模型事件的实现原理详解
Mar 14 PHP
php微信公众号开发之欢迎老朋友
Oct 20 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模板引擎Smarty的缓存使用总结
2014/04/24 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
如何高效率的查找一个月以内的数据
2012/04/15 面试题
历史专业学生的自我评价
2014/02/28 职场文书
总结表彰大会主持词
2014/03/26 职场文书
小学生综合素质评语
2014/04/23 职场文书
供用电专业求职信
2014/07/07 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
Navicat连接MySQL错误描述分析
2021/06/02 MySQL