php使用CURL不依赖COOKIEJAR获取COOKIE的方法
本文实例讲述了php使用CURL不依赖COOKIEJAR获取COOKIE的方法。分享给大家供大家参考。具体分析如下:
PHP中CURL类是一个非常牛逼的工具类,具体怎么牛逼就不啰嗦了。
对于COOKIE,CURL类也有很不错的支持,但不够灵活,并未能通过现成的方法以变量的方法获取到,而以要通过以下方法实现。
// 把COOKIE保存至cookie.txt curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
先把COOKIE保存文件,调用的时候还得读取文件,这样意味着两次的IO操作,效率如何,不用说大家都清楚了。
那么有没有办法可以绕过写读文件呢?不卖关子,直接上代码:
// 初始化CURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // 获取头部信息 curl_setopt($ch, CURLOPT_HEADER, 1); // 返回原生的(Raw)输出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行并获取返回结果 $content = curl_exec($ch); // 关闭CURL curl_close($ch); // 解析HTTP数据流 list($header, $body) = explode("\r\n\r\n", $content); // 解析COOKIE preg_match("/set\-cookie:([^\r\n]*)/i", $header, $matches); // 后面用CURL提交的时候可以直接使用 // curl_setopt($ch, CURLOPT_COOKIE, $cookie); $cookie = $matches[1];
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
详解PHP中cookie和session的区别及cookie和session用法小结
具体来说 cookie 是保存在"客户端"的,而session是保存在"服务端"的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间. session 一种类似散列表的形式保存信息, 当程序需要为某个客户端的请求创建一个
-
php使用cookie显示用户上次访问网站日期的方法
本文实例讲述了php使用cookie显示用户上次访问网站日期的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php if(!empty($_COOKIE['lastvisit'])){//先判断,是否存在cookie echo "您上次访问时间是:".$_COOKIE['lastvisit']; setCookie("lastvisit",date("Y-m-d H:i:s"),time()+3600*24*
-
PHP基于cookie与session统计网站访问量并输出显示的方法
本文实例讲述了PHP基于cookie与session统计网站访问量并输出显示的方法.分享给大家供大家参考,具体如下: <?php $f_open = fopen("count.txt","r+"); //打开指定的文件 $count = fgets($f_open); //读取文件中的数据 if(empty($_COOKIE['cookie_name'])){ //判断COOKIE的是否存在 setcookie("cookie_name",
-
php通过curl添加cookie伪造登陆抓取数据的方法
本文实例讲述了php通过curl添加cookie伪造登陆抓取数据的方法.分享给大家供大家参考,具体如下: 有的网页必须登陆才能看到,这个时候想要抓取信息必须在header里面传递cookie值才能获取 1.首先登陆网站,打开firebug就能看到对应的cookie把这些cookie拷贝出来就能使用了 2. <?php header("Content-type:text/html;Charset=utf8"); $ch =curl_init(); curl_setopt($ch,C
-
thinkphp3.x中cookie方法的用法分析
本文实例分析了thinkphp3.x中cookie方法的用法.分享给大家供大家参考,具体如下: 一.cookie函数也是一个多元化操作函数,完成cookie的设置.获取和删除操作. Cookie 用于Cookie 设置.获取.删除操作: 用法: cookie($name, $value='', $option=null) 参数: name(必须):要操作的cookie变量 value(可选):要设置的cookie值 option(可选):传入的cookie设置参数,默认为空 返回值 见详(根据具
-
php使用cookie实现记住登录状态
要实现记住密码自动登录的功能我们大多数据都是利用了客户端的cookies来实现,我们利用php也不例外,有需要的朋友可以参考一下. php制作记住密码自动登录的解决思路,其实也就是对session,cookies的操作 一.检查用户是否登录 复制代码 代码如下: //检查用户是否登录 function checklogin(){ if(empty($_SESSION['user_info'])){ //检查一下session是不是为空 if(empty($_COOK
-
php实现cookie加密的方法
本文实例讲述了php实现cookie加密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php class Cookie { /** * 解密已经加密了的cookie * * @param string $encryptedText * @return string */ private static function _decrypt($encryptedText) { $ke
-
php使用cookie保存用户登录的用户名实例
本文实例讲述了php使用cookie保存用户登录的用户名的方法.分享给大家供大家参考.具体实现方法如下: 用户登录文件:login.php 复制代码 代码如下: <html> <head> <title>用户登录</title> </head> <body> <?php function getCookieUsername(){ if(empty($_COOKIE['username'])){ return "&
-
PHP利用Cookie设置用户30分钟未操作自动退出功能
登陆控制器需要做的登陆成功把用户ID等信息存入cookie: $this->systemSetKey(array('name'=>$admin_info['admin_name'], 'id'=>$admin_info['admin_id'],'gid'=>$admin_info['admin_gid'],'sp'=>$admin_info['admin_is_super']));//登陆成功之后做得事情 父类中的 systemSetKey 方法: /** * 系统后台 会员
-
php使用cookie实现记住用户名和密码实现代码
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <form id="form1" name="form1" method="post" action="check_remember.php"> <table width="300" border=&
随机推荐
- asp.net中MVC借助Iframe实现无刷新上传文件实例
- 正则表达式之回溯
- vuejs响应用户事件(如点击事件)
- 详解Spring-Boot集成Spring session并存入redis
- PHP实现支付宝即时到账功能
- Python根据区号生成手机号码的方法
- python实现字典(dict)和字符串(string)的相互转换方法
- ASP:ActiveX不能创建Scripting.FileSystemObject对象解决办法
- Android通过"记住密码"功能学习数据存储类SharedPreferences详解及实例
- InnerHtml和InnerText的区别分析
- 光标的一些操作总结
- ASP.NET中JQuery+AJAX调用后台
- word-wrap
- java实现的简单猜数字游戏代码
- JavaScript使用DeviceOne开发实战(一) 配置和起步
- Windows量身定做的登录管理工具
- linux tar压缩排除某个文件夹的方法
- Android检测手机中存储卡及剩余空间大小的方法(基于Environment,StatFs及DecimalFormat)
- PHP实现利用MySQL保存session的方法
- 浅谈vue2 单页面如何设置网页title