现在的位置: 首页 > PHP开发 > 正文
使用CURL来获取COOKIE的方法
2013年10月28日 PHP开发 ⁄ 共 1120字 暂无评论 ⁄ 被围观 2,493 views+

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');    //CURLOPT_COOKIEFILE: 传递一个包含cookie数据的文件的名字的字符串。这个cookie文件可以是Netscape格式,或是堆存在文件中的HTTP风格的头。

curl_setopt($DATA_POST,CURLOPT_COOKIEJAR,'cookiefile.txt');    //CURLOPT_COOKIEJAR:把返回来的cookie信息保存在$cookie_jar文件中

curl_setopt($ch, CURLOPT_COOKIE, $cookie);    //CURLOPT_COOKIE: 传递一个包含HTTP cookie的头连接(header 信息)。

给我留言

您必须 [ 登录 ] 才能发表留言!