0

我正在尝试使用 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 中的请求/标头,似乎我在请求中有所有内容。但是我想编写这个调用的脚本。

有什么建议么?

谢谢!

4

1 回答 1

3

“-I”表示一个 HEAD 请求,但您指定了一个 HTTP 方法“PATCH”。Curl 抱怨说它不能同时做这两件事。

于 2012-06-02T06:21:33.233 回答