2009-11-16 5 views
82

Ich führe eine Curl-Operation auf der Kommandozeile und habe Probleme beim Erzwingen der Header als XML festgelegt. Ich verwende die Option -H, um den Inhaltstyp zu xml zu erzwingen, aber sobald ich den Befehl ausgeführt habe, kann ich sehen, dass der Header als urlencodiert gesendet wird, was einen der Datenwerte, die ich sende, verschmutzt. Kann mir jemand erklären, warum der Content-Type immer auf "application/x-www-form-urlencoded" anstatt auf "application/atom + xml" zurückgesetzt wird?Curl-Einstellung Content-Typ falsch

Ich verwende dies, um ein Upload-Token von YouTube mithilfe ihrer API abzurufen. Ich habe kein Problem, ein Authentifizierungstoken mit einem ähnlichen Befehl abzurufen.

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 

Antwort

199

Ich glaube, Sie

-H "Content-Type:text/xml" 

mit einem Doppelpunkt, nicht ein Gleichheits angeben möchten.

+0

Ja. Das war's. –

+4

Mit einem Doppelpunkt, nicht gleich. +1 für Sie, mein Herr – Dacav