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初学者常见问题集合 修正版(21问答)
Mar 23 PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 PHP
php错误、异常处理机制(补充)
May 07 PHP
解析php中curl_multi的应用
Jul 17 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
Oct 24 PHP
PHP抽象类与接口的区别实例详解
May 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垃圾回收机制简单说明
2010/07/22 PHP
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
vue中tab选项卡的实现思路
2018/11/25 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
详解Django框架中用context来解析模板的方法
2015/07/20 Python
使用Python对MySQL数据操作
2017/04/06 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
python 以16进制打印输出的方法
2018/07/09 Python
基于树莓派的语音对话机器人
2019/06/17 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
python 列表推导式使用详解
2019/08/29 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
班长岗位职责
2013/11/10 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
化工实习心得体会
2014/09/09 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
美容院员工规章制度
2015/08/05 职场文书
七年级语文教学反思
2016/03/03 职场文书
Python3 类型标注支持操作
2021/06/02 Python