【问题标题】:cURL - Need to use same session cookie in different scriptscURL - 需要在不同的脚本中使用相同的会话 cookie
【发布时间】:2012-04-23 04:56:29
【问题描述】:

我的 cURL 会话每次运行时都会生成一个新的 cookie。 如何将相同的 cookie 用于不同的脚本?

我的设置:

curl_setopt($curl, CURLOPT_COOKIESESSION, false);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiefilename);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiefilename); 

谢谢!

【问题讨论】:

  • 什么是$cookiefilename?可写吗?该文件是否存在并包含预期的数据?
  • curl 将遵循远程站点的 cookie 设置。如果站点在 cookie 上指定了“会话”生存期,curl 将在 curl 对象被杀死时删除 cookie,而不管 cookiefile/jar 设置如何。
  • #lonesomeday, $cookiefilename 是文件名的字符串。它是可写的。

标签: php curl


【解决方案1】:

你试过用 True 吗?
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
您是否确认 cookie 正在写入 $cookiefilename?
您是否尝试在 cookie 的持续时间内“重新运行”脚本?

您正在尝试重复使用 cookie?

【讨论】:

  • 我在 cURL 上执行了几个访问步骤。如果我将其设置为 True,那么在其中任何一个上,所有会话都会被破坏,我无法达到我需要的程度。 - cookie 可以正常写入文件。关于持续时间,我不知道如何说出它所说的一切:#HttpOnly_www.server.com FALSE / FALSE 0 ASP.NET_SessionId 5g5iq0yozfe3pw20mpa5dz45
  • 你是否为每一步调用所有的 curlopt?我有一个脚本可以在第一遍登录并将它们存储在 COOKIEJAR 中。在脚本的后续执行中,文件被打开以供 COOKIEFILE 重用。简而言之,cookies 在一段时间内仍然有效,并允许脚本绕过登录步骤。该脚本仅在初始 curl_exec($curl) 之前设置您在问题中显示的 3 个 curlopt
猜你喜欢
  • 2011-01-15
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多