带标头的 post 请求中出现错误 411(需要长度),但标头具有 Content-Length。库卷曲

2024-02-10

我使用这个选项:

curl_easy_setopt(curl, CURLOPT_URL, urlUpload); 
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body.c_str());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header);

必须是带 header 的 post 请求。在标头变量中有长度

***
char sizeStr[50];
sprintf(sizeStr, "Content-Length: %d", body.length());

*** 

header = curl_slist_append(header, sizeStr);

***

我想做的是将视频上传到 YouTube,我正在使用他们的手册 http://code.google.com/apis/youtube/2.0/developers_guide_protocol_direct_uploading.html#Direct_uploading

我收到这样的错误。

<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<title>Error 411 (Length Required)!!1</title>
<style>
  *many symbols here* 
</style>
<a href=//www.google.com/ id=g><img src=//www.google.com/images/logo_sm.gif alt=Google></a>
<p><b>411.</b> <ins>Thatв€™s an error.</ins>
<p>POST requests require a <code>Content-length</code> header. <ins>Thatв€™s all we know.</ins>

也许我必须使用其他一些 CURL 选项?

UPDATE:当我设置

curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);

我也收到

* About to connect() to uploads.gdata.youtube.com port 80 (#0)
*   Trying 74.125.XX.XXX... * connected
* Connected to uploads.gdata.youtube.com (74.125.XX.XXX) port 80 (#0)
> POST /feeds/api/users/default/uploads HTTP/1.1

Accept: */*

Host: uploads.gdata.youtube.com

Authorization: GoogleLogin auth=DQAAAIkAAACTK9tZPCTY1XQvXGkg4qkaIuZ1QO-Bh6-    ZyzOHuigFNC_gR4Piep4NljAjdOP4s-k7vqj-j4LdckXM9jxzlElgtaxr-    CShI1vIWkjm5ZtFsj3a9v1YqFmjIkEi3NCP2ON18D9jmXSIarPqprWiOK0n3oxznCBhm4osXwJ1yRstVVM5bG5mOlC331eMCrOKp3E


GData-Version: 2

X-GData-Key:     key=AI39si59VMkm6DATDmfG_Df6D23jfto3xRVfbAEMrFBv035pdRZ5AYMPsRXbGLCRXXnK5jz6KCSWSkuXOTrlDIIKWy7Le9fkQQ

Slug: screen.avi

Content-Type: multipart/related; boundary="d31fcjR2"

Content-length: 910273

Connection: close


* HTTP 1.0, assume close after body
< HTTP/1.0 411 Length Required

< Content-Type: text/html; charset=UTF-8

< Content-Length: 11791

< Date: Fri, 02 Sep 2011 16:09:58 GMT

< Server: GFE/2.0

< 

* Closing connection #0

这个错误是因为我从 YouTube 收到的身份验证字符串最后是换行符,我删除了它,这个错误就消失了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带标头的 post 请求中出现错误 411(需要长度),但标头具有 Content-Length。库卷曲 的相关文章

随机推荐

  • 如何在不使用文本字段的情况下在 MySQL 数据库中存储哈希值

    我正在存储独特的用户代理在 MySQL MyISAM 表中 因此当我必须查看它是否存在于表中时 我会检查md5 hash它存储在 TEXT 字段旁边 User Agents id INT user agent TEXT hash VARCH
  • 如何在 typescript / Angular 中设置子 html 元素的样式

    我正在使用 ionic 3 构建混合移动应用程序 要求之一是用户能够动态更改工具栏颜色 页面渲染后 html 如下所示 div this div i can control div but this one is generated by
  • Aurelia 有虚拟元素吗?

    Knockout JS有虚拟元素的概念 这些是 无头 元素 您可以将其绑定到没有 HTML 元素作为容器的元素 这允许您在不发出外部 HTML 的容器中绑定数组 例如 在 Knockout JS 中 您可以执行以下操作 li li 一系列l
  • 防止 WPF DataGrid 中的多行选择

    我在 WPF DataGrid 中有以下 XAML 标记
  • NLTK python 错误:“TypeError:‘dict_keys’对象不可下标”

    我正在按照课堂作业的说明进行操作 并且应该在文本文件中查找最常用的 200 个单词 这是代码的最后一部分 fdist1 FreqDist NSmyText vocab fdist1 keys vocab 200 但是当我在 vocab 20
  • Pickle:类型错误:需要类似字节的对象,而不是“str”[重复]

    这个问题在这里已经有答案了 当我在 python 3 中运行以下代码时 我不断收到此错误 fname1 auth cache s username fname fname1 encode encoding utf 8 fname fname
  • 自定义图像视图android

    我的自定义视图如下所示 package com mypackage import java util ArrayList import java util List import android content Context import
  • 以数组形式返回 group_concat 数据

    我想返回使用 group concat 作为数据数组从数据库检索的值 是否可以在 mysql 查询中执行此操作 或者我需要将数据分解成数组吗 GROUP CONCAT sh hold id as holds 返回这个 holds gt 3
  • 为什么从对象继承在 Python 中会有所不同? [复制]

    这个问题在这里已经有答案了 当类从无继承时 我有一个实例类型的对象 gt gt gt class A pass gt gt gt a A gt gt gt type a
  • 将 AVAssetWriter 与原始 NAL 单元结合使用

    我在 iOS 文档中注意到AVAssetWriterInput你可以通过nil为了outputSettings字典来指定输入数据不应重新编码 用于对附加到输出的媒体进行编码的设置 传递 nil 来指定不应重新编码附加的样本 我想利用此功能来
  • 如何为TableView创建NSIndexPath

    我需要在我定义的函数中删除表的第 1 行 为了使用deleteRowAtIndexPath你必须使用一个IndexPath定义了部分和行 如何创建这样的索引路径 以 int 1 作为唯一成员的数组将会崩溃 NSLog 消息指出该部分也需要定
  • pandas 按日期和年份分组并汇总金额

    我有这样的熊猫数据框 d dollar amount 200 25 350 00 120 00 400 50 1231 25 700 00 350 00 200 25 2340 00 date 22 01 2010 22 01 2010 2
  • 调试时如何跳出while循环

    在 Eclipse 中调试期间 我的代码进入了 while 循环 我不想循环直到满足条件 所以请告诉我如何在调试期间退出 while 循环 我看到 F7 在调试菜单下被禁用 请参阅此处的屏幕截图 You can select the lin
  • javascript 函数 btoa 的 C# 版本

    我需要将一些内容从 js 重新编码为 c 利用 js 中的 btoa 方法对一串 unicode 字符将它们转换为 base64 但是 据我所知 javascrpt 使用的编码与 c 中可用的所有编码不同 我需要编码完全相同 并且不会在这些
  • 如何在perl中验证数字?

    我知道有一个图书馆可以做到这一点 使用 Scalar Util qw looks like number 但我想使用 perl 正则表达式来做到这一点 我希望它适用于双数 而不仅仅是整数 所以我想要比这更好的东西 var d thanks
  • 从 OKHTTP 下载二进制文件

    我在我的 Android 应用程序中使用 OKHTTP 客户端进行网络连接 This https stackoverflow com questions 25367888 upload binary file with okhttp fro
  • Xpath获取上面的元素

    假设我有这样的结构 div class a div class b span Text Example span div div 在 xpath 中 我想检索属性 attribute 的值 因为我里面有文本 文本示例 如果我使用这个 xpa
  • 如何在VBA中实现消失动画?

    我正在尝试在 VBA 过程中测试形状上的动画效果 我已经实现了一个目标 即在主序列 定义在哪个位置Timeline 但我无法创建消失的动画 我在代码的开头检查了一些已经存在的 并且 EffectType 似乎返回与相关出现的动画相同的值 因
  • 实现永不过期的 OAuth 刷新令牌

    在 OAuth 2 的上下文中 如何处理refresh token过期 还是缺少 我使用 JSON Web 令牌 JWT 作为access token生命周期较短 20 分钟后过期 据我了解 这意味着我不必存储access token 仅验
  • 带标头的 post 请求中出现错误 411(需要长度),但标头具有 Content-Length。库卷曲

    我使用这个选项 curl easy setopt curl CURLOPT URL urlUpload curl easy setopt curl CURLOPT ERRORBUFFER errorBuffer curl easy seto