【问题标题】:Sending additional coockie variables with failure发送失败的额外 cookie 变量
【发布时间】:2013-08-24 20:18:43
【问题描述】:

我为向服务器发送额外的 cookie 而烦恼。我正在从服务器接收到连接成功的 coockies,但是当我尝试在 coockie 中添加更多数据时,服务器没有收到它。我尝试了几种方法来解决它,但现在我很累而且没有想法。期待您的任何有用的回复!

代码如下:

$cookie = 'var1='.urlencode($config['log']);
curl_setopt($ch, CURLOPT_COOKIE, $cookie); curl_setopt($ch, CURLOPT_URL, 'https://locaIp.adress/'); curl_setopt($ch, CURLOPT_POSTFIELDS, array('var1' => $config['log'],); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $echo = curl_exec($ch); </i>

【问题讨论】:

  • 可能是启用了HttpOnly。它的目的是阻止使用脚本写入 cookie 的可能性。
  • 这不是问题,因为我很确定 httponly 被禁用。也许它与 curl 和 javascript 的问题。我可以毫无问题地使用从服务器接收到的登录 cookie,但我无法向其中添加更多变量。

标签: php cookies curl


【解决方案1】:

HttpOnly 是我最初的选择,但您说您发布了一个 var,但没有多个(我猜这就是您的意思添加更多数据)。如果这是问题所在,它应该在发送之前准备好数据。

$cookie = 'log1='.urlencode($config2['log1']).";".'log2='.urlencode($config2['log2']);

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_COOKIE, $cookie ); // it works like this
//curl_setopt($ch, CURLOPT_COOKIE, "log1=cookie1;log2=cookie2");    // or like this

【讨论】:

  • 在我真正的 $cookie 中,我有 log1=somedata; log2=其他数据;还有更多,但我认为它在 urlencode 中没有问题,因为当我在 cutl_setopt 函数中直接设置 cookie 时,它​​仍然无法开始工作。我认为问题出在服务器端,因为 curl 对 js 有问题“Accept application/json, text/javascript, /; q=0.01” 有什么想法吗?
猜你喜欢
  • 2021-07-15
  • 2016-02-24
  • 2016-06-27
  • 2017-06-23
  • 2019-12-16
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多