我用PHP编写了一个脚本,使用curl登录网站并执行特定任务。它在Linux上运行。
但是,我想运行第二个进程(例如:process2.php),但是如何在不重新登录网站的情况下使用相同的会话和cookie?
就像在同一浏览器上打开第二个标签一样。
答案 0 :(得分:0)
如果您为所有curl请求指定相同的CURLOPT_COOKIEJAR
参数,他们将共享其Cookie。
由于默认情况下PHP使用cookie来识别您和您的会话,因此请求的curl客户端将共享该会话。
curl_setopt($curl, CURLOPT_COOKIEJAR, __DIR__."/cookies/cookie.txt");
curl_setopt($curl, CURLOPT_COOKIEFILE, __DIR__."/cookies/cookie.txt");
http://www.php.net/manual/en/function.curl-setopt.php
请注意,虽然curl只会更新curl_close()
上的cookie参数。因此,在同时呼叫许多此类请求时,您将遇到麻烦。经典赛车条件可能适用。