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的FTP学习(二)[转自奥索]
Oct 09 PHP
PHP中的超全局变量
Oct 09 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
May 04 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
PHP生成指定随机字符串的简单实现方法
Apr 01 PHP
8个必备的PHP功能开发
Oct 02 PHP
php封装json通信接口详解及实例
Mar 07 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 PHP
PHP实现计算器小功能
Aug 28 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 结果集的分页实现代码
2009/03/10 PHP
PHP学习笔记之三 数据库基本操作
2011/01/17 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
CI框架常用方法小结
2016/05/17 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
用原生js做单页应用
2017/01/17 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
一名女生的自荐信
2013/12/08 职场文书
副董事长岗位职责
2014/04/02 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
停电通知范文
2015/04/16 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
TS 类型收窄教程示例详解
2022/09/23 Javascript