【发布时间】:2010-12-23 20:43:51
【问题描述】:
我访问了一个 REST api 服务,该服务利用了一个名为 session_id 的变量。 API 要求将其存储在 cookie 中,我按如下方式完成此操作:
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url); //set target URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);// allow redirects
curl_setopt($ch, CURLOPT_COOKIEFILE, './Cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, './Cookie.txt');
curl_setopt($ch, CURLOPT_POST, TRUE); // set POST method
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //set headers
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE); //return the headers so we can get session id
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //prevent unverified SSL certificate error
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //prevent unverified SSL ""
$contents = curl_exec($ch);
curl_close($ch);
现在的问题是,许多不同的用户多次调用它。 (必须保存许多不同的 cookie 文件)我想要一种将 session_id 简单地存储在变量中而不是引用 cookie 文件的方法。到目前为止,我的所有尝试都被服务拒绝了。任何人都可以建议在不将其保存到文件的情况下存储会话 ID 和 cookie 信息的方法吗?请注意,读取会话 id 没有问题,它以 XML 形式返回。出于某种原因,在不引用实际生成的文件的情况下将其传回不会传递安全凭据。关于为什么会这样的更多信息也会有所帮助。
【问题讨论】: