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实现jQuery扩展函数
Oct 30 PHP
php下连接mssql2005的代码
Jan 17 PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 PHP
PHP set_error_handler()函数使用详解(示例)
Nov 12 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
PHP多文件上传类实例
Mar 07 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 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 按位与或 (^ 、&)
2013/06/21 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php中通用的excel导出方法实例
2017/12/30 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
Python  Django 母版和继承解析
2019/08/09 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
如何利用find命令查找文件
2015/02/07 面试题
自荐信封面
2013/12/04 职场文书
yy结婚证婚词
2014/01/10 职场文书
借款担保书范文
2014/05/13 职场文书
爱国主义主题班会
2015/08/14 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
python多线程方法详解
2022/01/18 Python
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers
详解PyTorch模型保存与加载
2022/04/28 Python