【问题标题】:PHP CURL | Header Set-CookiePHP 卷曲 |标头集-Cookie
【发布时间】:2014-07-17 11:40:33
【问题描述】:

我使用 php curl 向服务器(星号 rawman)发送请求,这是服务器响应:

HTTP/1.1 200 OK
Server: Asterisk/11.9.0
Date: Wed, 28 May 2014 09:36:51 GMT
Connection: close
Cache-Control: no-cache, no-store
Content-Length: 55
Content-type: text/plain
Cache-Control: no-cache;
Set-Cookie: mansession_id="383b2ccc"; Version=1; Max-Age=60
Pragma: SuppressEvents

这里服务器在客户端系统上设置了一个cookie:Set-Cookie: mansession_id=383b2ccc

在下一个请求中,我必须发送此 cookie 以通过身份验证...但我不知道此 cookie 在哪里?以及如何发送? 在浏览器中它的工作,因为浏览器自动发送cookie,但在PHP CURL中我有一个问题

【问题讨论】:

标签: php caching cookies curl


【解决方案1】:

根据您的情况调整vvondra's response,您会得到类似的结果:

您可以将 curl_setopt 与 CURLOPT_COOKIE 常量一起使用:

<?php
// create a new cURL resource
$ch = curl_init();

// cookies to be sent
curl_setopt($ch, CURLOPT_COOKIE, "mansession_id=383b2ccc");

更多内容请关注PHP docs

【讨论】:

  • 好的,但我不想手动设置值,我想读取每个登录请求的 cookie 值,因为每个请求的值都会动态变化。事实上,我想找到这个 cookie 并读取它的值。
【解决方案2】:

您可以使用 CURLOPT_COOKIEFILE 来启用 curl 句柄中的“cookie 引擎”,如果您希望在使用完句柄后将 cookie 实际保存在某处,则可以使用 CURLOPT_COOKIEJAR。

【讨论】:

  • 好的,我完成了。我使用 CURLOPT_COOKIEJAR 和 CURLOPT_COOKIEFILE 来保存 cookie 并读取它。谢谢大家。
猜你喜欢
  • 2015-02-01
  • 1970-01-01
  • 2018-05-02
  • 1970-01-01
  • 2011-12-29
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多