2012-02-24 7 views
6

Пожалуйста, объясняющий эту завиток команду переваривать: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 

Что делает < знак?

Я понимаю:

[--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/ {имя пользователя}/объявления/{доб-ссылка -id} < ad.xml]

То, что я нашел:

-d, --data

(HTTP) Отправляет указанные данные в запросе POST на HTTP-сервер так же, как браузер делает, когда пользователь заполнил форму HTML и нажимает кнопку отправки. Это вызовет завихрение для передачи данных на сервер с использованием типа содержимого 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'.

Если вы начинаете данные с буквы @, остальное должно быть файлом имя для чтения данных, или - если вы хотите, чтобы завиток читал данные от stdin. Содержимое файла уже должно быть закодировано в URL. Можно указать несколько файлов. Таким образом, публикация данных из файла с именем «foobar» будет выполнена с помощью --data @foobar.

Ведущий вопрос: Если кто-нибудь знает, как перевести это cfhttp просто не возражаете аутентификацию дайджеста и принять запрос работает с краткой проверки подлинности.

+0

Почему это помечено как coldfusion? –

+0

@Mike в главном вопросе я упомянул cfhttp. – Vlad

ответ

1

Опция «-d @ -» означает, что curl отправит запрос POST с данными, которые он считывает из stdin.

Оператор '<' сообщает оболочке для подачи файла на stdin.

Вы можете сделать более простую командную строку, вместо этого сделав -d @ ad.xml, а не использовать stdin вообще.

+1

В терминах cf вы можете отправить строку xml, используя '' – Leigh