我可以成功地使用curl调用我的Web服务
curl -vL -c ~/.internal/cookie -b ~/.internal/cookie https://mywebservcie
这有效,我可以看到json内容
现在,如果我打开〜/ .internal / cookie文件,我可以看到4行。我知道此文件是netscape cookie文件格式,因此第6列和第7列是cookie名称和内容。
如果现在我尝试使用显式cookie调用相同的Web服务
curl -vL -c"a=1" -c"b=2" -c"c=3" -c"d=4" https://mywebservice
我收到401未经授权的错误。
为什么当我指定整个文件时它可以工作,但是当我将文件的内容指定为单独的cookie时却不起作用?
答案 0 :(得分:1)
-c,--cookie-jar (HTTP)指定要将curl写入所有cookie的文件 完成操作后。 Curl写入其所有Cookie 在操作结束时将内存中的Cookie存储到给定文件中 位置。如果没有已知的cookie,将不会写入任何数据。的 文件将使用Netscape cookie文件格式写入。如果 您将文件名设置为单破折号“-”,则cookie将为 写入标准输出。
-c希望文件写入cookie。
-b,--cookie (HTTP)将数据传递到Cookie标头中的HTTP服务器。它 可能是先前从服务器中接收到的数据 “设置Cookie:”行。数据应采用以下格式 “ NAME1 = VALUE1; NAME2 = VALUE2”。
尝试一下:
curl -vL -b "a=1; b=2; c=3; d=4" https://mywebservice