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 相关文章推荐
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
php 冒泡排序 交换排序法
May 10 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
解析php时间戳与日期的转换
Jun 06 PHP
php读取3389的脚本
May 06 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
使用Apache的rewrite技术
2006/06/22 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
原创javascript小游戏实现代码
2010/08/19 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
JS清除选择内容的方法
2015/01/29 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
Python iter()函数用法实例分析
2018/03/17 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
python计算二维矩形IOU实例
2020/01/18 Python
python 动态绘制爱心的示例
2020/09/27 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
致标枪运动员广播稿
2014/02/06 职场文书
教师产假请假条范文
2014/04/10 职场文书
计算机系本科生求职信
2014/05/31 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
个人股份合作协议书
2014/10/24 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Python中的pprint模块
2021/11/27 Python
Python使用DFA算法过滤内容敏感词
2022/04/22 Python