php使用CURL不依赖COOKIEJAR获取COOKIE的方法

php在使用curl处理COOKIE是通常都需要创建保存的文件 (cookie.txt)
然后依赖依赖一下两个方法:

curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); //curl返回时,写入cookie 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');  //curl请求时,读取cookie

如何能不依赖文件存储解决cookie呢???

思路:

    1.如何用变量存储cookie .(cookie变量既可以直接使用,有可以存储到数据库中)

    2.请求时直接使用cookie变量.

直接上代码:

// 初始化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); 
$cookie = $matches[1]; 




// 后面用CURL提交的时候可以直接使用 
// curl_setopt($ch, CURLOPT_COOKIE, $cookie); 

 

重点: 

   1.利用 curl_setopt($ch, CURLOPT_HEADER, 1);  显示cookie

   2.利用正在表达式取出 cookie

   3.利用curl_setopt($ch, CURLOPT_COOKIE, $cookie); 发送cookie

发表评论

电子邮件地址不会被公开。 必填项已用*标注