2012-05-17 3 views
4

Я использую веб-интерфейс, который позволяет мне отправлять материалы по запросу завитка.Отправить xml over curl

Образец пост выглядит следующим образом:

<status>A note</status> 

Но всякий раз, когда я пытаюсь отправить это, кажется, не принимает XML-

curl http://website.com/update -d '<?xml version="1.0" encoding="UTF-8"?><status>test</status>' -H 'Accept: application/xml' \ -H 'Content-Type: application/xml' -u username:password 

я могу сделать любой другой тип запросов, просто отправка этого XML, похоже, не работает, я делаю что-то неправильно здесь?

+0

Возможный дубликат [отправить/отправить xml-файл с помощью curl командной строки] (http: // stacko verflow.com/questions/3007253/send-post-xml-file-using-curl-command-line) – dkinzer

ответ

6

Для передачи данных (XML, JSON, текст и т.д.) с помощью curl вы должны использовать метод POST и добавить --data-urlencode параметр, как показано ниже:

curl -X POST http://website.com/update \ 
    --data-urlencode xml="<status>A note</status>" \ 
    -H 'Accept: application/xml' \ 
    -H 'Content-Type: application/xml' \ 
    -u username:password 

или

curl -X POST http://website.com/update \ 
    --data-urlencode "<status>A note</status>" \ 
    -H 'Accept: application/xml' \ 
    -H 'Content-Type: application/xml' \ 
    -u username:password 

Если вы хотите отправить через GET, я думаю, вам нужно закодировать строку перед вызовом команды curl

+0

Большое спасибо, это очень помогло мне. –

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