php curl lib 中,设置一个Cookie文件 $cookeFilePath
在初始化以后和执行访问页面以前调用:
curl_setopt($c, CURLOPT_COOKIEFILE, $cookieFilePath);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookieFilePath);
最好使用前清除文件:
@unlink($cookieFilePath);
一段用cookie模拟登录的,应该是你想要的
-
curl的封装程序见这个问题@求PHP实现POST请求{103}
-
//获取页面的cookie
-
$http =newHttpRequest;
-
$http->url ='目标网站的页面';
-
$response =$http->get();
-
$header =$response->headers;
-
//真正的请求开始
-
$http->url ='访问地址';
-
if(isset($header['Set-Cookie'])&&is_array($header['Set-Cookie'])){
-
$http->cookies =$header['Set-Cookie'];
-
}
-
$response =$http->get();
-
$body =$response->body;
使用curl获取COOKIE
$ch =curl_init('http://www.xxx.com/');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,1);
preg_match('/^Set-Cookie: (.*?);/m',curl_exec($ch),$m);
var_dump(parse_url($m[1]));
curl带COOKIE的请求
-
curl_setopt($DATA_POST,CURLOPT_COOKIEFILE,'cookiefile.txt');
-
curl_setopt($DATA_POST,CURLOPT_COOKIEJAR,'cookiefile.txt');