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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
php对称加密算法示例
May 07 PHP
php生成html文件方法总结
Dec 01 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
Laravel 验证码认证学习记录小结
Dec 20 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/05/27 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Python实现简易Web爬虫详解
2018/01/03 Python
详解Python中的动态属性和特性
2018/04/07 Python
在python里从协程返回一个值的示例
2019/02/19 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
一套比较完整的软件测试人员面试题
2012/05/13 面试题
小学开学寄语
2014/01/19 职场文书
2014年环保工作总结
2014/11/26 职场文书
六一儿童节开幕词
2015/01/29 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
亮剑观后感500字
2015/06/05 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL