请解释一下这个curl命令:
curl --digest \
-u{username}:{password} \
-v \
-X PUT \
-H 'Expect: ' \
-H 'Content-type: application/xml' \
-d @- \
http://webapi.ebayclassifieds.com/webapi/partners/{username}/ads/{ext-reference-id} \
< ad.xml
Run Code Online (Sandbox Code Playgroud)
<符号是什么意思?
我的理解:
[--digest] its a digest authentication
[-u{username}:{password}] obviously username and password
[-X PUT] method="put"
[-H 'Expect: '] header = 'Expect: '
[-H 'Content-type: application/xml'] additional header
Run Code Online (Sandbox Code Playgroud)
这可能是我得不到的-d @ - url <ad.xml [-d @ - http://webapi.ebayclassifieds.com/webapi/partners/ {username}/ads/{ext-reference-id} <ad.xml]
我找到了什么:
-d, - data
(HTTP)将POST请求中的指定数据发送到HTTP服务器,就像用户填写HTML表单并按下提交按钮时浏览器一样.这将导致curl使用content-type application/x-www-form-urlencoded将数据传递到服务器.比较-F, - form.
-d, - data与--data-ascii相同.要纯数据二进制发布数据,您应该使用--data-binary选项.要对表单字段的值进行URL编码,您可以使用--data-urlencode.
如果在同一命令行中多次使用这些选项中的任何一个,则指定的数据将与分离&-symbol合并在一起.因此,使用'-d name = daniel -d skill = lousy'会生成一个看起来像'name = daniel&skill = lousy'的帖子块.
如果用字母@开始数据,其余的应该是一个文件名来读取数据,或者 - 如果你想让curl从stdin读取数据.该文件的内容必须已经过URL编码.也可以指定多个文件.因此,可以使用--data @foobar从名为'foobar'的文件中发布数据.
主要问题:如果有人知道如何将其转换为cfhttp,请不要介意摘要式身份验证,并假设请求正在使用摘要式身份验证.
“-d@ -”选项意味着curl 将发送一个POST 请求以及从stdin 读取的数据。
'<' 运算符告诉 shell 将文件提供给标准输入。
您可以通过执行 -d @ad.xml 来创建更简单的命令行,并且根本不使用标准输入。
| 归档时间: |
|
| 查看次数: |
20691 次 |
| 最近记录: |