使用CURL来获取COOKIE的方法

php curl lib 中,设置一个Cookie文件 $cookeFilePath

在初始化以后和执行访问页面以前调用:
curl_setopt($c, CURLOPT_COOKIEFILE, $cookieFilePath);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookieFilePath);

最好使用前清除文件:
@unlink($cookieFilePath);



一段用cookie模拟登录的,应该是你想要的

  

  1. curl的封装程序见这个问题@求PHP实现POST请求{103}

  2. //获取页面的cookie

  3. $http =newHttpRequest;

  4. $http->url ='目标网站的页面';

  5. $response =$http->get();

  6. $header =$response->headers;

  7. //真正的请求开始

  8. $http->url ='访问地址';

  9. if(isset($header['Set-Cookie'])&&is_array($header['Set-Cookie'])){

  10. $http->cookies =$header['Set-Cookie'];

  11. }

  12. $response =$http->get();

  13. $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的请求

  1. curl_setopt($DATA_POST,CURLOPT_COOKIEFILE,'cookiefile.txt');

  2. curl_setopt($DATA_POST,CURLOPT_COOKIEJAR,'cookiefile.txt');

你可能感兴趣的:(使用CURL来获取COOKIE的方法)