cURL - - 摘要命令

时间:2012-02-24 18:00:23

标签: curl

请解释这个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 

&lt;&lt;标志意味着什么?

我的理解:

[--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

这可能是我得不到的-d @ - url&lt; ad.xml [-d @ - http://webapi.ebayclassifieds.com/webapi/partners/ {username} / ads / {ext-reference-id}&lt; ad.xml]

我找到了什么:

  

-d, - data

     

(HTTP)将POST请求中的指定数据发送到HTTP服务器,   与用户填写HTML时浏览器的操作方式相同   表单并按下提交按钮。这将导致卷曲通过   使用content-type将数据发送到服务器   应用程序/ x-WWW窗体-urlencoded。比较-F, - form。

     

-d, - data与--data-ascii相同。要纯数据二进制发布数据,您应该使用--data-binary选项。对URL进行URL编码   您可以使用的表单字段的值--data-urlencode。

     

如果在同一命令中多次使用这些选项中的任何一个   在行中,指定的数据将与a合并在一起   分离&amp; -symbol。因此,使用'-d name = daniel -d skill = lousy'会   生成一个看起来像'name = daniel&amp; skill = lousy'的帖子块。

     

如果用字母@开始数据,其余的应该是一个文件   用于读取数据的名称,或者 - 如果您希望curl读取数据   来自stdin。该文件的内容必须已经过URL编码。   也可以指定多个文件。从名为的文件中发布数据   因此,'foobar'将使用--data @foobar完成。

主要问题: 如果有人知道如何将其转换为cfhttp,请不要介意摘要认证,并假设请求正在使用摘要认证。

1 个答案:

答案 0 :(得分:1)

“ - d @ - ”选项意味着curl将发送一个POST请求,其中包含从stdin读取的数据。

'&lt;' operator告诉shell将文件提供给stdin。

您可以通过执行-d @ ad.xml来创建更简单的命令行,而不是使用stdin。