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版本号
Oct 09 PHP
oracle资料库函式库
Oct 09 PHP
新手学PHP之数据库操作详解及乱码解决!
Jan 02 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
PHP递归统计系统中代码行数
Sep 19 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
angularjs 获取默认选中的单选按钮的value方法
2018/02/28 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
element中的$confirm的使用
2020/04/26 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
Python 性能优化技巧总结
2016/11/01 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
先进工作者获奖感言
2014/02/08 职场文书
企业总经理岗位职责
2014/02/13 职场文书
化学教学随笔感言
2014/02/19 职场文书
婚前财产公证书
2014/04/10 职场文书
考核评语大全
2014/04/29 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers