学习使用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 相关文章推荐
一个从别的网站抓取信息的例子(域名查询)
Oct 09 PHP
给php新手谈谈我的学习心得
Feb 25 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
joomla jce editor 解决上传中文名文件失败问题
Jun 09 PHP
php实现插入排序
Mar 29 PHP
PHP Reflection API详解
May 12 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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
Terran兵种对照表
2020/03/14 星际争霸
测试您的 PHP 水平的题目
2007/05/30 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
document.createElement()用法
2013/03/13 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
小程序实现分类页
2019/07/12 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
实例讲解React 组件
2020/07/07 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
python实现socket端口重定向示例
2014/02/10 Python
Python操作json数据的一个简单例子
2014/04/17 Python
python常规方法实现数组的全排列
2015/03/17 Python
详解python itertools功能
2020/02/07 Python
python 录制系统声音的示例
2020/12/21 Python
火车来了教学反思
2014/02/11 职场文书
数学教学随笔感言
2014/02/17 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
公司会议开幕词
2016/03/03 职场文书
创业计划书之酒厂
2019/10/14 职场文书