程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php CURL不使用文件存取COOKIE示例

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

編輯:關於PHP編程

本文章來給大家介紹php CURL不使用文件存取COOKIE一個實例,希望此方示對各位同學會有所幫助哦。

CURL是一個非常實用的PHP擴展,模擬用戶登錄時經常需要存取COOKIE信息,而使用COOKIEJAR和COOKIEFILE會產生兩次或兩次以上的I/O操作,性能效率自不必說,在第三方雲應用平台(BAE SAE等),有時還需要操作STORAGE來實現存取COOKIE,比較麻煩,今天介紹一個CURL不使用文件存取COOKIE的方法:
 
COOKIEJAR/COOKIEFILE方式:

 代碼如下 復制代碼

/*-----保存COOKIE-----*/
$url = 'www.bKjia.c0m'; //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.bKjia.c0m'; //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.bKjia.c0m'; //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);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved