Curl 设置 Content-Type 不正确

标签 curl youtube

我正在命令行上运行curl 操作,但在强制将 header 设置为XML 时遇到问题。我使用 -H 选项强制 Content-Type 为 xml,但是,一旦运行命令,我可以看到 header 以 urlencoded 形式发送,这污染了我发送的数据值之一。有人可以向我解释为什么 Content-Type 总是重置回“application/x-www-form-urlencoded”而不是“application/atom+xml”吗?

我正在使用它通过 YouTube 的 API 检索上传 token 。使用类似的命令检索身份验证 token 时我没有遇到任何问题。

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

最佳答案

我想你想指定

-H "Content-Type:text/xml"

带有冒号,而不是等号。

关于Curl 设置 Content-Type 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1745318/

相关文章:

linux - 将 Linux (CLI) 上的文件上传到 Dropbox(通过 bash/sh)?

php - 获取 cURL 响应 header 和响应正文

android - 是否可以从 "Complete action using"中排除应用程序?

jquery - YouTube 嵌入式播放器动态 : change video link with javascript,

api - YouTube API问题

http - curl 在重定向后对所有请求使用 POST

curl - PHP 脚本可以在 Mac 上运行,但不能在 Windows 上运行

C++ 和 Curl : Failed to receive handshake, 需要更多数据

java - 如何上传视频到客户自己的youtube channel

android - Youtube 如何在按下主页按钮后创建小窗口播放器?