Curl неправильно устанавливает Content-Type

83

Я запускаю операцию curl в командной строке, и мне не удается заставить заголовок установить как XML. Я использую параметр -H, чтобы заставить Content-Type быть xml, однако, как только я запускаю команду, я вижу, что заголовок отправляется как urlencoded, что портит одно из значений данных, которые я отправляю. Может ли кто-нибудь объяснить мне, почему Content-Type всегда сбрасывается обратно в «application / x-www-form-urlencoded» вместо «application / atom + xml»?

Я использую это для получения токена загрузки с YouTube с помощью их API. У меня нет проблем с получением токена аутентификации с помощью аналогичной команды.

curl -S -v 
--location http://gdata.youtube.com/action/GetUploadToken
-H Content-Type= text/xml
--data content=some xml content here
--data GoogleLogin auth="DQAAAHU.....TiU95NXYSLFFENTbNQUy....NjfFoC0nyEKaz-ejEkA_w"
-H X-Gdata-Key: key=AI39si5EQyo-_L......78eL80r-MooHXtrA48R82AShoQ
-H Content-Length=445
Мириам П. Рафаэль
источник

Ответы:

201

Я думаю вы хотите уточнить

-H "Content-Type:text/xml"

с двоеточием, а не равным.

qedi
источник