web-dev-qa-db-ja.com

誤ってContent-Typeを設定する

コマンドラインでcurl操作を実行していますが、ヘッダーをXMLとして設定するのに問題があります。 -Hオプションを使用してContent-Typeを強制的にxmlにしますが、コマンドを実行すると、ヘッダーがurlencodedとして送信され、送信するデータ値の1つが汚染されていることがわかります。 Content-Typeが常に「application/atom + xml」ではなく「application/x-www-form-urlencoded」にリセットされる理由を誰かに説明できますか?

APIを使用してYouTubeからアップロードトークンを取得するためにこれを使用しています。同様のコマンドを使用して認証トークンを取得しても問題ありません。

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
82

あなたが指定したいと思う

-H "Content-Type:text/xml"

等号ではなくコロンを使用します。

200
qedi