【问题标题】:How to set session through curl in php如何在php中通过curl设置会话
【发布时间】:2018-01-30 05:20:49
【问题描述】:

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

在第一次登录调用中,我相信会话已设置,但我如何在第二个请求中使用它。

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

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

【问题讨论】:

    标签: php session curl


    【解决方案1】:

    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。

    【讨论】:

      猜你喜欢
      • 2012-01-31
      • 2015-10-17
      • 2017-10-22
      • 2013-03-06
      • 2013-07-11
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多