PHP curl session 使用

直接獲取header中cookie(sessionid)用來繼續請求php

$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並賦值給$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再次請求

保存到文件用來請求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);
相關文章
相關標籤/搜索