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中Smarty模板初体验
Aug 08 PHP
yii操作cookie实例简介
Jul 09 PHP
php获取apk包信息的方法
Aug 15 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
php源码之将图片转化为data/base64数据流实例详解
Nov 27 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
PHP7 其他语言层面的修改
Mar 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
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
python中self原理实例分析
2015/04/30 Python
Python数组定义方法
2016/04/13 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
python利用7z批量解压rar的实现
2019/08/07 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
python 动态绘制爱心的示例
2020/09/27 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
公司业务员岗位职责
2014/03/18 职场文书
应届生求职自荐信
2014/07/04 职场文书
交通安全横幅标语
2014/10/07 职场文书
2014年行政部工作总结
2014/11/19 职场文书
岗位聘任报告
2015/03/02 职场文书
使用pytorch实现线性回归
2021/04/11 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers