php使用curl模拟登录后采集页面的例子


Posted in PHP onNovember 04, 2013

今天接到的功课是从一个网站获取商品库存,但是这个网站需要登录,我用fsockopen传递了整个header头都没用,只能求助于curl了。
附带说一下curl模块的开启办法:
(1)从php目录下拷贝:libeay32.dll,ssleay32.dll 到windows目录下。
(2)打开php.ini,查找“extension_dir = xxxxx”,确认后面的文件目录内有php_curl.dll文件。
(3)同样是php.ini,查找“extension=php_curl.dll”,确认它没有被注释(前面没有';')。
(4)重启apache,如果使用curl_init();语句出现错误提示,则说明没有安装成功。

$curl = curl_init();
$cookie_jar = tempnam('./tmp','cookie');
curl_setopt($curl, CURLOPT_URL,'http://b2b.bookuu.com/b2b_club/checkUser.jsp');//这里写上处理登录的界面
curl_setopt($curl, CURLOPT_POST, 1);
$request = 'user=xxx&password=xxx';
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//传 递数据
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);// 把返回来的cookie信息保存在$cookie_jar文件中
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//设定返回 的数据是否自动显示
curl_setopt($curl, CURLOPT_HEADER, false);//设定是否显示头信 息
curl_setopt($curl, CURLOPT_NOBODY, false);//设定是否输出页面 内容
curl_exec($curl);//返回结果
curl_close($curl); //关闭
$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_URL, 'http://b2b.bookuu.com/search/b2b_zxsm_new.jsp');//登陆后要从哪个页面获取信息
curl_setopt($curl2, CURLOPT_HEADER, false);
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar);
$content = curl_exec($curl2);

PHP 相关文章推荐
?生?D片??C字串
Dec 06 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 PHP
PHP中Date()时间日期函数的使用方法小结
Apr 20 PHP
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
Nov 21 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
phpnow php探针环境检测代码
Nov 04 PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 PHP
php json中文编码为null的解决办法
Dec 14 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 PHP
yii2使用gridView实现下拉列表筛选数据
Apr 10 PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 #PHP
php网站判断用户是否是手机访问的方法
Nov 01 #PHP
php合并js请求的例子
Nov 01 #PHP
php上传文件中文文件名乱码的解决方法
Nov 01 #PHP
PHP防止跨域提交表单
Nov 01 #PHP
PHP查询网站的PR值
Oct 30 #PHP
PHP禁止个别IP访问网站
Oct 30 #PHP
You might like
js对象关系图 方便dom操作
2012/03/18 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
Python中的exec、eval使用实例
2014/09/23 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
keras之权重初始化方式
2020/05/21 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
竞选劳动委员演讲稿
2014/04/28 职场文书
员工升职自荐信
2015/03/27 职场文书
天堂的孩子观后感
2015/06/11 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
app场景下uniapp的扫码记录
2022/07/23 Java/Android