php使用curl模拟登录后采集页面的例子

 更新时间:2013年11月04日 10:18:48   作者:   我要评论
php使用curl模拟登录后采集页面的例子,附带php curl模块的开启办法。

今天接到的功课是从一个网站获取商品库存,但是这个网站需要登录,我用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+Ajax无刷新带进度条图片上传示例

    PHP+Ajax无刷新带进度条图片上传示例

    本篇文章主要介绍了PHP+Ajax无刷新带进度条图片上传示例,详细的整理PHP无刷新上传图片,并且要带进度条的代码,有需要的可以了解一下。
    2017-02-02
  • 解析CI即CodeIgniter框架在Nginx下的重写规则

    解析CI即CodeIgniter框架在Nginx下的重写规则

    本篇文章是对CI即CodeIgniter框架在Nginx下的重写规则进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Thinkphp 中 distinct 的用法解析

    Thinkphp 中 distinct 的用法解析

    TP中distinct()的用处主要是去除重复的值,下面我通过实例代码给大家介绍下Thinkphp 中 distinct 的用法,一起看看吧
    2016-12-12
  • CI框架支持$_GET的两种实现方法

    CI框架支持$_GET的两种实现方法

    这篇文章主要介绍了CI框架支持$_GET的两种实现方法,实例分析了get传参方法与pathinfo两种方法的实现技巧,需要的朋友可以参考下
    2016-05-05
  • laravel接管Dingo-api和默认的错误处理方式

    laravel接管Dingo-api和默认的错误处理方式

    今天小编就为大家分享一篇laravel接管Dingo-api和默认的错误处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP开源开发框架ZendFramework使用中常见问题说明及解决方案

    PHP开源开发框架ZendFramework使用中常见问题说明及解决方案

    Zend Framework(简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。
    2014-06-06
  • ThinkPHP3.2.2的插件控制器功能

    ThinkPHP3.2.2的插件控制器功能

    这篇文章主要介绍了ThinkPHP3.2.2最新开始支持的插件控制器功能的使用方法,非常详细,这里推荐给小伙伴们。
    2015-03-03
  • Laravel中的Blade模板引擎示例详解

    Laravel中的Blade模板引擎示例详解

    laravel的模版引擎采用了blade模版引擎,下面这篇文章主要给大家介绍了关于Laravel中Blade模板引擎的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • php reset() 函数指针指向数组中的第一个元素并输出实例代码

    php reset() 函数指针指向数组中的第一个元素并输出实例代码

    在php中,当我们使用next函数或end函数将数组内部针指指向数组最后一个元素的时候,如果再需要将内部指针指向第一个元素,可以使用reset() 函数来实现,本文章向大家讲解reset() 函数的基本语法及使用实例,需要的朋友可以参考下
    2016-11-11
  • php图片的裁剪与缩放生成符合需求的缩略图

    php图片的裁剪与缩放生成符合需求的缩略图

    用在移动设备上时显示效果不好且流量巨大,需要对现有图片库的图片进行一次处理,生成符合移动设备用的缩略图,将原来客户端JS做的工作转移到服务器端用PHP的GD库来集中处理,感兴趣的朋友可以了解下
    2013-01-01

最新评论