如何在php中通过curl设置会话

时间:2018-01-30 05:20:49

标签: php session curl

我已经为负载测试创建了一个脚本。在这里,有2个卷曲请求到远程服务器。第一个请求是登录,如果登录成功,则其他curl请求添加新用户。在此,第一个curl请求已完成,但是当我调用第二个添加新用户的请求时,它拒绝,因为未设置会话。

在第一次登录呼叫时,我认为会话已设置,但我如何在第二次请求中使用此功能。

我看到一些答案说要使用饼干罐,但我不明白该怎么做。如何创建一个类似下面代码的cookie。

$ckfile = tempnam ("/tmp", 'cookiename'); //Plz explain this line
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);

1 个答案:

答案 0 :(得分:0)

tempnam - 在' / tmp'中生成具有随机名称的文件与' cookiename'的目录前缀。

$ckfile = tempnam ("/tmp", 'cookiename');

CURLOPT_COOKIEJAR - 用于设置文件名称的选项,以便在句柄关闭时保存所有内部cookie,例如在致电curl_close之后。

curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);

CURLOPT_COOKIEFILE - 用于设置包含cookie数据的文件名的选项。

curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);

算法:

  1. 在第一次请求中,您应使用选项CURLOPT_COOKIEJAR来存储您的Cookie;
  2. 在第二个请求中,您应该使用选项CURLOPT_COOKIEFILE来使用第一个请求中存储的Cookie。