curl - http补丁问题[使用cookie以及usr / pwd]

时间:2012-06-01 19:51:08

标签: http session cookies curl

我正在尝试使用curl更新对象。

我正在尝试两种方法:
1]在补丁请求中提供usr / pswd     =>说“警告:您只能选择一个HTTP请求!” 2]首先保存登录cookie并使用它来执行补丁
    用-I =>说“警告:您只能选择一个HTTP请求!”     没有-I => [{“message”:“会话已过期或无效”,“errorCode”:“INVALID_SESSION_ID”}]

以下是要求:
1]在补丁请求中提供usr / pswd

curl -I -H "Content-Type: application/json" -H "charset=UTF-8" -H "Accept: application/json" -X PATCH -d '{"field":"new_value"}' -D- 'https://url?un=<uname>&pw=<pwd>/<path to obj>/<key>' --trace-ascii trace.OUT
Warning: You can only select one HTTP request!

2]首先保存登录cookie并使用它来执行补丁

curl -c cookies.txt  'https://url?un=<uname>&pw=<pwd>'    
curl -b cookies.txt -H "Content-Type: application/json" -H "charset=UTF-8" -H "Accept: application/json" -X PATCH -d '{"field":"new_value"}' -D- 'https://url/<path to obj>/<key>'  
  =>[{"message":"Session expired or invalid","errorCode":"INVALID_SESSION_ID"}]
curl **-I** cookies.txt -H "Content-Type: application/json" -H "charset=UTF-8" -H "Accept: application/json" -X PATCH -d '{"field":"new_value"}' -D- 'https://url/<path to obj>/<key>'  
  =>  Warning: You can only select one HTTP request!

我们有一个可以使用UI执行补丁的工具,我检查了firebug中的请求/标题,看起来我在请求中包含了所有内容。但是我想编写这个电话的脚本。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

“ - I”表示HEAD请求,但您指定了“PATCH”的HTTP方法。 Curl抱怨它不能同时做到这两点。