PHP 使用 CURL 不依赖 COOKIEJAR 获取 COOKIE 的方法
使用 COOKIEJAR 方法
PHP 中 CURL 类在做请求时非常好用,对于COOKIE,CURL类也有很不错的支持。
获得 COOKIE 并存为文件:
// 把 COOKIE 保存至 cookie.txt
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
// COOKIE 文件存放在至 temp 文件夹下的随机文件
$cookie_file = tempnam('./temp','cookie');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
读取文件并携带 COOKIE:
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
先把 COOKIE 保存文件,调用的时候再读取文件。
使用正则表达式
使用 COOKIEJAR 方法,会有两次 IO 操作,对效率有一定的损失。且运行在 BAE/SAE/GAE 等云计算平台时,不支持本地文件写入。使用正则表达式可以解决这些问题。