gpt4 book ai didi

PHP 使用 CURL : is there a way to emulate a cookie instead of saving it to a file?

转载 作者:IT王子 更新时间:2023-10-29 00:00:51 25 4
gpt4 key购买 nike

我访问一个 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 文件的方法。到目前为止,我所有的尝试都被服务拒绝了。任何人都可以建议在不将其保存到文件的情况下存储 session ID 和 cookie 信息的方法吗?请注意,读取 session ID 没有问题,它以 XML 格式返回。出于某种原因,在不引用实际生成的文件的情况下将其传回不会传递安全凭证。关于为什么会这样的任何更多信息也会有所帮助。

最佳答案

Cookie 是随请求一起发送的简单文本 header 。 CURL 允许您直接使用 CURLOPT_COOKIE 指定那些。

curl_setopt($ch, CURLOPT_COOKIE, 'key=value;anotherkey=anothervalue');

如果您知道要发送什么信息,您可以通过这种方式构建您自己的 cookie header 。 COOKIEJAR/COOKIEFILE 选项只是自动解析、保存和发送。如果您不想写入文件,则必须手动执行此操作(读取收到的 Cookie header ,创建要发送的 Cookie header )。

关于PHP 使用 CURL : is there a way to emulate a cookie instead of saving it to a file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1857377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com