【问题标题】:setting a cookie in PHP CURL在 PHP CURL 中设置 cookie
【发布时间】:2015-03-13 12:42:55
【问题描述】:

我对 php curl 概念真的很陌生,谁能告诉我一个如何使用 php curl

在浏览器中设置 cookie 的简单示例

这是我的代码不起作用...

$ch = curl_init('http://localhost/setc.php?userid=123&panelid=1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// get headers too with this line
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_exec($ch);
curl_close($ch);

但是当我对此进行 var_dump 时,它会被打印出来,非常困惑,请帮助

array (size=1)
  'userid' => string '1:123' (length=8)

如果您感到困惑......请忽略我上面的代码,让我知道如何使用 php curl 设置一个简单的 cookie

【问题讨论】:

    标签: php curl cookies


    【解决方案1】:

    我不清楚您期望 cookie 会发生什么。不过,你可以试试这个:

    $ch = curl_init('http://localhost/setc.php?userid=123&panelid=1');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // get headers too with this line
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');
    curl_setopt($ch, CURLOPT_COOKIE, 'cookiename=cookievalue');
    curl_exec($ch);
    curl_close($ch);
    

    【讨论】:

    • 我的意思是我不能使用 CURL 创建一个简单的 cookie,所以我向你们寻求帮助
    • 我添加了用于添加cookie的setopt
    • 似乎 php curl 在 2016 年之后不再使用 cookie,不确定
    • cookie jar 需要 cookie 文件的绝对路径。你可能想试试realpath($cookie_jar_path)
    【解决方案2】:

    Php Curl 允许你直接设置 cookie Header,使用:

    curl_setopt($curlHandle,CURLOPT_COOKIE, $cookieString);
    

    其中 $cookieString 保存分号分隔的键值对 cookie 数据。

    请参考这个问题: PHP Curl and setcookie problem

    并且一定要彻底通过http://php.net/manual/en/function.curl-setopt.php

    【讨论】:

    • 谢谢我理解 $cookiestring.. 你能告诉我 $curlHandle,CURLOPT_COOKIE 持有什么
    【解决方案3】:

    试试这个:

    curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
    curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
    

    这会自动创建一个 cookies.txt

    【讨论】:

      猜你喜欢
      • 2014-07-07
      • 2015-10-17
      • 2012-06-22
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多