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实现网站插件机制的方法
Nov 10 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 PHP
PHP超级全局变量数组小结
Oct 04 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 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
晶体管单管来复再生式收音机
2021/03/02 无线电
PHP中,文件上传
2006/12/06 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
PHP代码加密的方法总结
2020/03/13 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
2016/06/23 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
vue中如何使用ztree
2018/02/06 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
python unittest实现api自动化测试
2018/04/04 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Python使用xpath实现图片爬取
2020/09/16 Python
Django实现随机图形验证码的示例
2020/10/15 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
运动会跳远广播稿
2014/02/04 职场文书
房产转让协议书
2014/04/11 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
党性修养心得体会2016
2016/01/21 职场文书