php CURL不使用文件存取COOKIE示例

CURL是一个非常实用的PHP扩展,模拟用户登录时经常需要存取COOKIE信息,而使用COOKIEJAR和COOKIEFILE会产生两次或两次以上的I/O操作,性能效率自不必说,在第三方云应用平台(BAE SAE等),有时还需要操作STORAGE来实现存取COOKIE,比较麻烦,今天介绍一个CURL不使用文件存取COOKIE的方法:
 
COOKIEJAR/COOKIEFILE方式:

 代码如下 复制代码

/*-----保存COOKIE-----*/
$url = 'www.111cn.net'; //url地址
$post = "id=user&pwd=123456"; //POST数据
$cookie = tempnam('./','cookie'); //cookie临时文件
$ch = curl_init($url); //初始化
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); //发送POST数据
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie); //保存获得的cookie
curl_exec($ch); //执行curl
curl_close($ch); //关闭curl

/*-----使用COOKIE-----*/
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie);

新方式(无I/O操作):

 代码如下 复制代码

/*-----保存COOKIE-----*/
$url = 'www.111cn.net'; //url地址
$post = "id=user&pwd=123456"; //POST数据
$cookie = tempnam('./','cookie'); //cookie临时文件
$ch = curl_init($url); //初始化
curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); //发送POST数据
$content = curl_exec($ch); //执行curl并赋值给$content
preg_match('/Set-Cookie:(.*);/iU',$content,$str); //正则匹配
$cookie = $str[1]; //获得COOKIE(SESSIONID)
curl_close($ch); //关闭curl

/*-----使用COOKIE-----*/
curl_setopt($ch,CURLOPT_COOKIE,$cookie);

/*-----保存COOKIE-----*/
$url = 'www.111cn.net'; //url地址
$post = "id=user&pwd=123456"; //POST数据
$cookie = tempnam('./','cookie'); //cookie临时文件
$ch = curl_init($url); //初始化
curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); //发送POST数据
$content = curl_exec($ch); //执行curl并赋值给$content
preg_match('/Set-Cookie:(.*);/iU',$content,$str); //正则匹配
$cookie = $str[1]; //获得COOKIE(SESSIONID)
curl_close($ch); //关闭curl

/*-----使用COOKIE-----*/
curl_setopt($ch,CURLOPT_COOKIE,$cookie);

时间: 2024-12-10 04:17:54

php CURL不使用文件存取COOKIE示例的相关文章

curl不使用文件存取cookie php使用curl获取cookie示例

 这篇文章主要介绍了curl不使用文件存取cookie的示例,不使用COOKIEJAR和COOKIEFILE存取COOKIE,大家参考使用吧   代码如下: /*-----保存COOKIE-----*/ $url = 'www.xxx.com'; //url地址 $post = "id=user&pwd=123456"; //POST数据 $ch = curl_init($url); //初始化 curl_setopt($ch,CURLOPT_HEADER,1); //将头文件

curl不使用文件存取cookie php使用curl获取cookie示例_php实例

复制代码 代码如下: /*-----保存COOKIE-----*/$url = 'www.xxx.com'; //url地址$post = "id=user&pwd=123456"; //POST数据$ch = curl_init($url); //初始化curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流curl_se

PHP的cURL库简介及使用示例

 这篇文章主要介绍了PHP的cURL库简介及使用示例,需要的朋友可以参考下     使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库. PHP中的CURL函数库(Client URL Library Function)    代码如下: curl_close - 关闭一个

解析curl提交GET,POST,Cookie的简单方法

本篇文章是对curl提交GET,POST,Cookie的简单方法进行了详细的分析介绍,需要的朋友参考下   复制代码 代码如下: <?php $get_data = array ( "get1"=> "get1", "get2" => "get2", "get3" => "get3" ); $curl = curl_init(); curl_setopt($cur

shell-linux下curl -b 加载 cookie 的问题求救

问题描述 linux下curl -b 加载 cookie 的问题求救 要加载的cookie文件: .e.test.cn TRUE / FALSE 1428635701 CRM_ADMIN %1B%A7h4z%A9_I%08%91%CAc%7D%18%1D%EB .test.cn TRUE / FALSE Q u%3D%25O5%25PR%25O4%25S0%25O5%25PR%25O4%25S0%25O7%25N2%25O7%25N2%25PO%25PQ%26n%3DCUC%25O1%25R0%

javascript创建和存储cookie示例

 javascript创建和存储cookie,cookie是存储于访问者的计算机中的变量,下面看一下使用示例吧 什么是cookie? cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值.   cookie使用场景:   名字cookie 当访问者首次访问页面时,他或她也许会填写他/她们的名字.名字会存储于 cookie 中.当访问者再次访问网站时,他们会收到类似 "W

java操作cookie示例(删除cookie)_java

1.设置Cookie 复制代码 代码如下: Cookie cookie = new Cookie("key", "value");cookie.setMaxAge(60);  设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效. 复制代码 代码如下: cookie.setPath("/test/test2");  设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.ge

jQuery切换网页皮肤并保存到Cookie示例代码_jquery

以下是源代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>j

javascript创建和存储cookie示例_基础知识

什么是cookie?cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值. cookie使用场景: 名字cookie当访问者首次访问页面时,他或她也许会填写他/她们的名字.名字会存储于 cookie 中.当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词.而名字则是从 cookie 中取回的. 密码cookie当访问者首次