CURL cookie 文件有效,但 cookie 本身不起作用



>我可以像这样成功地使用 curl 调用我的 Web 服务

curl -vL -c ~/.internal/cookie -b ~/.internal/cookie https://mywebservcie

这工作我可以看到 json 内容

现在,如果我打开~/.internal/cookie文件,我可以看到4行。我知道这个文件是网景cookie文件格式,因此第6列和第7列是cookie名称和内容。

如果现在我尝试使用 cookie 显式调用相同的网络服务

curl -vL -c"a=1" -c"b=2" -c"c=3" -c"d=4" https://mywebservice

我收到 401 未经授权的错误。

为什么当我指定整个文件时它有效,但当我将文件的内容指定为单个 cookie 时不起作用?

-c, --cookie-jar (HTTP) 指定您希望 curl 将所有 cookie 写入哪个文件 完成操作后。Curl 从其写入所有 cookie 在操作结束时将内存中的cookie存储到给定的文件 "的回答。如果不知道 Cookie,则不会写入任何数据。 这 文件将使用 Netscape cookie 文件格式写入。如果 您将文件名设置为单个短划线"-",cookie 将是 写给标准输出。

-c 需要一个文件来写入 cookie。

-b, --饼干 (HTTP)将数据传递到 Cookie 标头中的 HTTP 服务器。它 应该是以前从服务器接收的数据 "设置饼干:"行。 数据应采用以下格式 "名称 1=值 1;名称 2=值 2"。

试试这个:

curl -vL -b "a=1; b=2; c=3; d=4" https://mywebservice

最新更新