如何在 libcurl 中禁用 Expect 100 continue

2024-01-17

我正在使用 CURLOPT_POST 发送 https 消息。在运行过程中,我的应用程序停留在:

期望:100-继续

完成等待 100-继续


From 乔治的日志——当curl发送100-继续时 https://gms.tf/when-curl-sends-100-continue.html,您可以设置Expect标头为空字符串:

curl -X POST -H "Expect:" http://mywebsite.com/an/endpoint -F data=@myfile

解释

特别是,您可以在放置/发布请求中设置一个空的“Expect:”标头。我在curl的回调后教程中找到了一些示例代码,其中包含以下带有DISABLE_EXPECT“喷嚏”防护的代码片段:

#ifdef DISABLE_EXPECT
/*
  Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue"
  header.  You can disable this header with CURLOPT_HTTPHEADER as usual.
  NOTE: if you want chunked transfer too, you need to combine these two
  since you can only set one list of headers with CURLOPT_HTTPHEADER. */ 

/* A less good option would be to enforce HTTP 1.0, but that might also
   have other implications. */ 
{
  struct curl_slist *chunk = NULL;

  chunk = curl_slist_append(chunk, "Expect:");
  res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
  /* use curl_slist_free_all() after the *perform() call to free this
     list again */ 
}
#endif

我保留一个用于放置/发布请求的标头列表。将上述等效内容添加到该列表中的效果如广告所示:

// Disable Expect: 100-continue
vc->slist = curl_slist_append(vc->slist, "Expect:");
...
curl_easy_setopt(vc->curl, CURLOPT_HTTPHEADER, vc->slist);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 libcurl 中禁用 Expect 100 continue 的相关文章

  • 在curl_easy_perform之后接收数据

    我有以下问题 如何编写通过 http response 返回的数据char 缓冲 我发现了几种方法 use CURLOPT WRITEDATA or CURLOPT WRITEFUNCTION but CURLOPT WRITEDATA需要
  • 在 Visual Studio 2010 上安装 LibCurl

    我在 Visual Studio 2010 中使用 LibCurl 时遇到了一些问题 请记住 我对 C 还很陌生 我根据 libcurl 网站上的说明构建了库 并尝试将我的项目指向包含目录 libcurl lib 等 但当我尝试构建项目时
  • CURL 问题(多)

    我有问题卷曲 多重 我想创建一个类 函数 它接收 1000 个 URL 并一次处理所有这些 URL 5 因此当 URL 完成下载时 它会将现在可用的插槽分配给尚未处理的新 URL然而 我见过some 实施的curl multi 但它们都不允
  • 通过 PHP Curl 请求 URL 时出现 HTTP 代码 302 错误

    通过 PHP curl exec 请求 url 时收到 302 错误消息 但手动执行时收到代码 200 可能是什么差异导致结果不同 假设我在服务器中有以下代码 url http localhost circle my request sus
  • 为什么 libcurl 不为 IP 设置 SNI?

    我刚刚注意到当我使用 IP 进行 HTTPS 调用时 libcurl 没有设置 SNI 字段 我找到了这个 https github com curl curl blame master lib vtls openssl c ifdef S
  • 在 Mac 上使用 C 语言时的 LibCURL

    基本上 我尝试简单地使用 libCURL 来下载网站 并且我一直在使用以下代码 include
  • 将 php curl 转换为 GAE urlfetch 以用于 iTunes InApp verifyReceipt

    有人可以帮忙将此 PHP Curl 转换为 UrlFetch 吗 这用于 Apple iTunes verifyReceipt if getiTunesProductionLevel app id sandbox sandbox overr
  • Mac OS X libcurl dylib 兼容版本

    我的应用程序在 10 6 上构建并运行良好 我将 Base SDK 设置为 10 6 将 Mac OS X 部署目标设置为 10 5 我的应用程序使用系统 libcurl dylib 我没有将 dylib 添加到项目中 而是添加了 lcur
  • 多线程curl同时处理多个连接

    curl multi 接口是否在内部生成新线程以同时处理多个请求 它是否等于手动生成线程并仅使用curl easy句柄 什么是性能更高 我需要发出最多 1000 个并发请求 https curl haxx se libcurl c mult
  • 使用 libcurl 而不使用 dll

    我正在使用 Microsoft Visual C 2010 我需要制作一个不需要 libcurl dll 的应用程序 我在预处理器指令中定义 CURL STATICLIB 并链接到 libcurl lib libcurl static li
  • 使用 PHP 进行 CURL - 非常慢

    All 我必须请求一个返回 JSON 请求的 URL 我正在使用 PHP 和 CURL 来执行此操作 目前 请求和响应大约需要 3 4 秒 以下是curl代码 ch curl init devnull fopen tmp curlcooki
  • 如何强制 Git (2.5+) HTTP 传输更喜欢 SPNEGO 而不是基本身份验证?

    Summary 我正在使用 Git for Windows 2 5 1 通过 Kerbesized Git 服务器进行身份验证 当我使用表单中的 URL 时https el2 gitlab sa c kkm GrammarTools git
  • 将变量传递到 CURLOPT_POSTFIELDS C++

    我正在尝试将变量传递到CURLOPT POSTFIELDS 我当前的代码 size t curl write void ptr size t size size t nmemb void stream std string cmd stat
  • 从标准 cookie 格式转换为 LibCurl cookie jar 格式

    有没有方便的工具 代码可以转换标准 cookie 字符串格式 e g NAME1 VALUE1 NAME2 VALUE2 to the libCURL cookie jar 格式 e g netscape com TRUE FALSE 94
  • 应用程序无法使用 libcurl C++ Windows 7 VS 2010 启动(0xc0150002)[重复]

    这个问题在这里已经有答案了 可能的重复 应用程序无法正确初始化 0xc0150002 https stackoverflow com questions 3537429 the application failed to initializ
  • 如何使用 C++ cURL (libcurl) 管理简单的 PHP 会话

    我正在编写一个 C 客户端 它使用 libcurl 与 PHP 脚本进行通信 通信应该是基于会话的 因此第一个任务是登录并使 PHP 脚本建立会话 我不习惯使用 C 或 PHP 的会话 我基本上知道它与cookies和通信会话id有关 我在
  • 执行程序时调用任何 cURL 函数都会导致“找不到入口点”

    在 Visual Studio 2012 SP4 中 如果我创建一个新的 Windows EXE 解决方案 请使用 Nuget 命令行 安装包curl 构建解决方案 程序正确执行并按预期显示简单窗口 如果我添加一个电话curl versio
  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • Windows 上 libcurl 的静态库[重复]

    这个问题在这里已经有答案了 如何将此库 libcurl 静态链接到 exe 我努力了 disable share enable static 没有帮助 我使用的是MingW32 有没有一种简单的方法来静态链接这个库 这样我的应用程序就不再有
  • LibCurl SFTP 重命名文件

    解决了 经过更多转换后 通过使用 重命名 作为引用命令 它需要包含原始名称的完整路径和包含重命名目标的完整路径 在我其他失败的尝试中 我没有尝试过这条路 大家好 我尝试了所有不同的组合 但一直失败 不知道我错过了什么 我正在尝试使用 Lib

随机推荐

  • 使用 Javascript 检测 html 页面中的所有图像

    我正在编写一个 Chrome 扩展程序 并试图检测网页中的所有图像 我正在尝试在我的 JS 代码中检测all网页上的图像 我的意思是 网页加载后加载的图像 用作背景的图像 在 CSS 或内联 html 中 网页加载完成后可以加载的图像 例如
  • JetBrains 的 @Contract 注释

    如何org jetbrains annotations Contract注释工作 IntelliJ IDEA 如何支持它 首先 我应该说这个注释仅供IDEA用来检查可能的错误 Java 编译器几乎会完全忽略它 它将出现在已编译的工件中 但没
  • 如何为 tf-idf 矢量器创建 scikit 管道?

    我正在经历这个官方sklearntutorial https scikit learn org stable auto examples model selection grid search text feature extraction
  • 如何为 argparse 中的现有参数添加位置选项

    我正在处理一个 Python 3 x 脚本 由其他人编写 其中输入和输出当前使用标记的可选参数指定 如下所示 parser add argument i input nargs type argparse FileType r defaul
  • 如果我只有类名的字符串,如何从类中调用静态方法?

    我怎样才能让这样的事情发挥作用 class name ClassPeer class name doSomething 取决于 PHP 版本 call user func array class name doSomething call
  • Android SQLite数据库:插入速度慢

    我需要解析一个相当大的 XML 文件 大约一百千字节到几百千字节 我正在使用Xml parse String ContentHandler 我目前正在使用 152KB 文件对此进行测试 在解析过程中 我还使用类似于以下的调用将数据插入 SQ
  • Magento 自定义模块如何在 config.xml 中存储变量

    我有一个工作正常的自定义模块 但我希望能够在配置中存储变量 以便我可以在代码中使用它们 例如默认错误消息 我想我可以通过使用 Mage getStoreConfig some path here 来访问它们但我不知道如何将它们添加到模块 c
  • 将 CString 转换为字符串 (VC6)

    我想将 CString 转换为字符串 是的 我知道我在做什么 我知道如果 CString 值范围超出 ANSI 返回的字符串将不正确 但没关系 以下代码在VC2008下可以运行 std string Utils CString2String
  • 是否有可以包含资源的受支持文件类型列表?

    我正在寻找可以包含资源并可以通过以下方式加载的文件类型列表LoadLibrary http msdn microsoft com en us library windows desktop ms684175 28v vs 85 29 asp
  • python内置列表的__init__方法下面的初始化过程是什么

    我的问题是init列表类的方法调用其他方法 例如append或insert 来实现其功能 like class test list def init self values super init def append self value
  • 具有 Circe 实现的通用 json 解码器特征 [重复]

    这个问题在这里已经有答案了 我有一个用于将 json 解码器注入为项目组件依赖项的特征 trait JsonDecoder def apply T s String Option T 当我尝试用它来实现它时Circe https circe
  • 从 Xerces 获取架构数据类型

    我在 Xerces C 中使用 SAX2 并且希望在处理元素时获取 XML 架构数据 以便了解架构中定义的类型 我怎样才能做到这一点 好吧 我知道该怎么做了 关于该主题的可用文档很少 显然 我需要将 XMLReaderFactory cre
  • Rust - 调用内部值方法的枚举方法

    我有一个如下的枚举 enum Foo A X B Y C Z 其中 X Y 和 Z 是实现该方法的结构体bar 我希望能够定义一个方法bar on the Fooenum 以便调用其内部值对应的方法 现在我有这个 impl Foo pub
  • 在 extjs 中扩展电子邮件验证

    我在 ExtJs 6 0 1 250 版本中内置了以下用户注册表单 我有一个接受电子邮件字段 co com直到四个字 我需要处理最近的事情tlds并想要覆盖电子邮件验证逻辑 我尝试过validator并应用正则表达式但是regexText不
  • 更改 TableView 上 UISearchBars 的宽度

    我需要在我的 tableView 中创建两个 UISearchBar 我希望它们在桌子顶部的宽度相等 并排 我创建了两个 UISearchBar 出口 并为它们创建了属性和分配 我发现很难将它们都放置 我的意思是适合 视图中 我只看到一个搜
  • 如何跳过“按回车键启动合并解析工具”并自动打开mergetool

    Git 要求按返回按钮一一打开每个冲突文件的合并工具 gt git mergetool Normal merge conflict for local modified file remote modified file Hit retur
  • Linux下无root权限如何获取CPU序列号

    在没有root权限的Linux Ubuntu 下如何获取CPU序列号 我尝试了 cpuid 命令 它无需 root 权限即可工作 但似乎返回全零 我相信是因为需要在 BIOS 中更改某些内容 您能否建议我另一种从程序中检索 CPU 序列号的
  • 如何向 Google 表单添加登录信息以供用户填写

    我一直在网上阅读和观看许多教程 但我找不到可以最初使用单个输入文本加载某种对话框或登录页面的内容 这样我就可以使用应用程序脚本对其进行处理 onFormOpen 不会在完成表单的用户上触发 在我的 onSubmitForm 函数中 我有以下
  • 处理 Pylab 导入错误未定义符号

    我已经成功安装并从我的主目录调用 matplotlib myname sysimm51 python Python 2 7 6 default Nov 11 2013 13 13 15 GCC 4 4 7 20120313 Red Hat
  • 如何在 libcurl 中禁用 Expect 100 continue

    我正在使用 CURLOPT POST 发送 https 消息 在运行过程中 我的应用程序停留在 期望 100 继续 完成等待 100 继续 From 乔治的日志 当curl发送100 继续时 https gms tf when curl s