Curl setting Content-Type incorrectly

CurlYoutube

Curl Problem Overview


I am running a curl operation on the command line and am having trouble forcing the header to set as XML. I use the -H option to force the Content-Type to be xml, however, once I run the command I can see that the header is sent as urlencoded which is tainting one of the data values that I'm sending. Can someone explain to me why the Content-Type is always reset back to "application/x-www-form-urlencoded" instead of "application/atom+xml"?

I am using this to retrieve an upload token from YouTube using their API. I have no trouble retrieving an authentication token using a similar command.

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

Curl Solutions


Solution 1 - Curl

I think you want to specify

-H "Content-Type:text/xml"

with a colon, not an equals.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMiriam P. RaphaelView Question on Stackoverflow
Solution 1 - CurlqediView Answer on Stackoverflow