【问题标题】:PHP, Curl, curl_exec(), curl_close() and cookiesPHP、Curl、curl_exec()、curl_close() 和 cookie
【发布时间】:2010-12-23 10:06:40
【问题描述】:

当使用带有 Curl 的 PHP 时,是否有必要在每次调用 curl_exec() 后调用 curl_close() 以使 cookie 使用 CURLOPT_COOKIEJAR 和 CURLOPT_COOKIEFILE 选项正常运行?或者我可以在同一个站点上多次调用 curl_exec() 来调用不同的 url,并且仍然保持 cookie 而不在每个之后调用 curl_close() 吗?我可以多次使用 curl_exec() 并在脚本末尾关闭它 curl_close() 吗?

【问题讨论】:

  • 我遇到的问题是,在多个 exec 上维护会话的 cookie 似乎行为不正常。

标签: php cookies curl


【解决方案1】:

您应该只在知道您已完成该特定句柄时调用curl_close(),或者如果从其当前状态切换到新状态(即:通过curl_setopt() 更改大量选项会更快来自一个干净的新手柄,而不是您当前的“脏”手柄。

cookiejar/file 选项仅对于在单独的 curl 句柄/调用之间维护 cookie 是绝对必要的。每个人都独立于其他人,因此 cookie 文件是它们之间共享的唯一方式。

【讨论】:

  • 所以如果我在同一个 curl 句柄上继续调用 curl_exec() 而不关闭它,我不需要 cookie 选项吗?它会自动跟踪该句柄的 cookie 吗?
  • 等一下.. 我想即使您使用相同的 curl 句柄从一个页面转到另一个页面,假设下一页需要上一页的 cookie,您仍然必须使用 COOKIEFILE? ?我不认为那是正确的@Marc B
  • @redskins80:所以我们还需要一个 cookie 文件?但没有饼干罐? curl_close() 会删除 cookie 吗?还是会留下来?
猜你喜欢
  • 2010-12-10
  • 2021-11-16
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 2013-10-22
  • 2013-08-15
  • 2011-12-19
  • 2011-10-08
相关资源
最近更新 更多