卷曲 - - digest命令

问题描述:

请解释这curl命令:卷曲 - - digest命令

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 

什么是<标志是什么意思?

我明白了什么:

[--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 @ - 网址< ad.xml [-d @ - http://webapi.ebayclassifieds.com/webapi/partners/ {名} /广告/ {EXT-参考-id} < ad.xml]

我发现了什么:

-d,--data

(HTTP)将POST请求中的指定数据发送到HTTP服务器 ,其方式与浏览器在填写HTML 表单并按下提交按钮时执行的操作相同。这将导致curl将 数据传递给使用内容类型 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'的帖子。

如果您使用字母@开始数据,其余的应该是文件 名称以读取数据,或者 - 如果要卷页从标准输入读取数据 。该文件的内容必须已经被URL编码。 也可以指定多个文件。从名为 'foobar'的文件发布数据将因此使用--data @foobar完成。

领导问题: 如果有人知道如何翻译这只是CFHTTP不介意的摘要式身份验证,并假设请求正在与摘要式身份验证。

+0

为什么这被标记为coldfusion? – 2012-03-01 12:04:22

+0

@Mike在我提到的cfhttp的主要问题中。 – Vlad 2012-03-02 13:54:24

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

'<'操作符告诉shell向stdin提供一个文件。

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

+1

在cf中,你可以使用'发布一个xml字符串' – Leigh 2012-02-25 20:52:41