2015-09-21 4 views
1

Я работаю над программой, которая вызывает вызовы RESTful api. Вся документация для api - это команды cURL, но я не могу делать команды cURL, поэтому мне нужно перевести их и сделать запрос другим способом. Это пример кода, который они предоставляют для типа запроса, который я хочу сделать.Что означает -d в этой команде cURL?

curl -u '{userEmail}:{userApiToken}' -v -X GET -H 'Content-Type: application/xml' -o 'result.xml' -d '<request><layout>1</layout><searchmode>Cany</searchmode><searchvalue>aaron</searchvalue><filtermode></filtermode><filtervalue></filtervalue><special></special><limit>100</limit><start></start><sortfield></sortfield><sortdir></sortdir></request>' https://secure.website.com/contacts ` 

Я был над документом cURL и понял все флаги, кроме -d. Я получаю, что его аргументом является xml параметров поиска, но что означает -d в GET cURL?

Благодаря

ответ

2

-d задает тело запроса. От человека-страницы:

-d, --data (HTTP) Отправляет указанные данные в запросе POST на сервер HTTP, таким же образом, что браузер делает, когда пользователь заполнил форму HTML и нажмите кнопку отправки. Это заставит curl передавать данные на сервер с использованием типа контента application/x-www-form-urlencoded. Сравните с -F, --form.

-d, --data - это то же самое, что и -data-ascii. --data-raw - почти то же самое, но не имеет специальной интерпретации символа @ . Чтобы отправлять данные чисто двоичных файлов, вместо этого вы должны использовать опцию -data-binary. Чтобы URL-кодировать значение поля формы, вы можете использовать -data-urlencode.

Любопытно, что вы используете службу, которая использует GET с органами запроса, как объяснено here, it is possible but unwanted.

Например, прокси разрешено удалять тело. Но пока между вами и их сервером нет машин, это может сработать; и у них, вероятно, есть программное обеспечение, которое позволяет им интерпретировать тело.

+0

Вот что я и думал. Но я не думал, что у запросов GET есть тела. Неужели я ошибаюсь? – user3708584

+0

Я расширил свой ответ – Sjon

Смежные вопросы