繁体   English   中英

是否可以使用CURL设置cookie内容?

[英]Is it possible to set the cookie content with CURL?

我一直在寻找一种方法,为CURL指定cookie数据。 我找到了一些关于如何从访问过的页面保存cookie的解决方案,但这不是我需要的。 我想要的是,自己编写cookie的数据,所以CURL使用它。

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

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

// cookies to be sent
curl_setopt($ch, CURLOPT_COOKIE, "fruit=apple; colour=red");

你真的应该阅读文档 - 它列出了你期望的关键字,并包含很多有用的信息:

-b,--cookie

(HTTP)将数据作为cookie传递给HTTP服务器。 据推测,它是先前从“Set-Cookie:”行中的服务器接收的数据。 数据应采用“NAME1 = VALUE1; NAME2 = VALUE2”格式。

如果行中没有使用'='符号,则将其视为用于读取先前存储的cookie行的文件名,如果它们匹配,则应在此会话中使用。 使用此方法还会激活“cookie解析器”,这将使curl记录传入的cookie,如果您将它与-L, - location选项结合使用,这可能很方便。 从中读取cookie的文件的文件格式应该是纯HTTP标头或Netscape / Mozilla cookie文件格式。

请注意,使用-b,--cookie指定的文件仅用作输入。 文件中不会存储任何cookie。 要存储cookie,请使用-c, - cool-jar选项,或者甚至可以使用-D, - dump-header将HTTP标头保存到文件中!

如果多次设置此选项,则最后一个选项将是使用的选项。

cURL可以使用Netscape格式的cookie文件。 只需自己创建这样一个文件并用作CURLOPT_COOKIEFILE选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM