直接擷取header中cookie(sessionid)用來繼續請求
$url = 'test.com'; //url地址$post = "id=user&pwd=123456"; //POST資料//或GET$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並賦值給$contentpreg_match('/Set-Cookie:(.*);/iU',$content,$str); //正則匹配$cookie = $str[1]; //獲得COOKIE(SESSIONID)curl_close($ch); //關閉curl/*-----使用COOKIE-----*/curl_setopt($ch,CURLOPT_COOKIE,$cookie);//設定cookie再次請求
儲存到檔案用來請求
$cookie_jar = dirname(__FILE__)."/pic.cookie";$url = "http://test.com/";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);$content = curl_exec($ch);curl_close($ch);//之後的請求$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'http://test.com/check.action?');curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $post);$ret = curl_exec($ch);curl_close($ch);