如何在 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 的相关文章

  • 创建 libcurl http post 表单

    我如何创建一个curl form 例如在stackoverflow上发帖 如果我查看问题表单页面的来源 我会看到
  • 在 Windows 上构建支持 SSL 的 libcurl

    我在 Win32 C 应用程序中使用 libcurl 我已将curlib vcproj 项目添加到我的解决方案中 并将其他项目设置为依赖于它 如何在启用 SSL 支持的情况下构建它 这个答案已经过时了 请参阅此处的实际指南https cur
  • 在 C 中使用 libcurl 保存文件

    我正在从 perl 扩展到 C 并且尝试使用curl 的库来简单地从远程 url 保存文件 但我很难找到一个很好的示例来工作 另外 我不确定是否应该使用curl easy recv或curl easy perform I find 这个资源
  • 为什么我的任务没有取消?

    我正在运行一个进程 定期卷曲到 URL 列表以测试这些网站的性能 我的主程序基本上是一个 do sleep while 循环 每 N 秒调用一个函数 runTest 并用键盘中断来终止它 精简到基础知识 我的代码如下 public void
  • Python 中的 cURL 帮助

    我必须向服务器发送请求 在该网站的 API 文档中有一个在 PHP 中使用 cURL 的示例 ch curl init curl setopt ch CURLOPT URL http api website com curl setopt
  • Android 和 libCurl https

    晚上好 我需要将 libCurl 实现到我们的 Android 项目之一中 我使用 JNI 通过 libCurl 代码调用 C 类 一切都很完美 但看在上帝的份上 我无法使用 https url 让它工作 我总是收到 CURLE UNSUP
  • Android 上的 libcurl CURLE_SSL_CACERT_BADFILE 错误

    所以我尝试将 libcurl 与 JNI 一起使用 但它返回 CURLE SSL CACERT BADFILE 错误 这是我的代码 JNI 端 static size t WriteCallback void contents size t
  • 使用 C++ 的简单 HTTP 请求

    在您将此标记为冗余之前 请注意我已经尝试了网上发布的许多方法 包括堆栈溢出 但它们都无法满足我的需求 另请注意 我对编程世界还很陌生 所以请原谅我滥用技术术语 现在我正在编写一个 C 程序 它计算来自用户计算机的一些数据 例如 IP 地址
  • pycurl install :( 已经有最低的 libcurl 版本

    我在 Intel Mac OS X 10 5 上运行 python 2 6 我正在尝试安装 pycurl 7 16 2 1 按照此处的推荐http curl haxx se mail curlpython 2009 03 0009 html
  • libcurl -curl_easy_perform() 失败:SSL CA 证书有问题(路径?访问权限?)

    我在 Windows 7 x64 上使用 mingw64 MSYS2 从下面的链接编译了简单的 libcurl 示例程序 https curl se libcurl c simple html https curl se libcurl c
  • 当 URL 不正确时,curl_easy_perform 崩溃

    我在尝试使用下载文件时遇到问题libcurl 该程序使用多个线程 每个需要下载文件的线程都会创建一个libcurl处理来工作 当 URL 正确时 一切正常 但如果 URL 错误 程序就会崩溃 在调试模式下 如果 URL 不正确curl ea
  • 如何获取快速 .Net Http 请求

    我需要一个可以在 Net 中使用的 Http 请求 该请求需要不到 100 毫秒 我能够在浏览器中实现这一点 所以我真的不明白为什么这在代码中是一个问题 我尝试过 WinHTTP 以及 WebRequest Create 它们都超过 500
  • 如何在 libcurl 中使用成员函数指针

    我正在使用 libcurl 我在类中下载文件 我想查看其中的进度函数 我注意到我可以通过设置一个典型的函数指针 curl easy setopt mCurl CURLOPT PROGRESSFUNCTION progress func3 但
  • 如何强制 Git (2.5+) HTTP 传输更喜欢 SPNEGO 而不是基本身份验证?

    Summary 我正在使用 Git for Windows 2 5 1 通过 Kerbesized Git 服务器进行身份验证 当我使用表单中的 URL 时https el2 gitlab sa c kkm GrammarTools git
  • 修复了 Octave urlread 导致无法使用给定 CA 证书对对等证书进行身份验证的问题

    Question 如何修复 不是解决方法 Octave 假设 libcurl 与 Octave 捆绑 urlread 导致无法使用给定的 CA 证书对对等证书进行身份验证 读过pkg 在 Windows 中从 forge 安装 http o
  • curl (3) URL 使用错误/非法格式或缺少 URL

    我尝试通过 Linux Ubuntu 18 04 安装 Minikube 并按照以下步骤安装了curl configure nghttp2 prefix usr local with ssl make sudo make install 我
  • iOS 获取代理设置

    在我的项目中 我使用 libcurl 通过互联网下载数据 问题是 libcurl 无法检测 wifi 连接的代理设置 我必须手动设置 libcurl 的设置 所以我想知道如何获取 wifi 连接的代理设置 我在钥匙串中找到了一些有关信息的线
  • 执行程序时调用任何 cURL 函数都会导致“找不到入口点”

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

    我正在尝试使用 Curb curb rubyforge org 调用需要在 get 请求中提供参数的 RESTful API 我想获取一个像这样的URLhttp foo com bar xml bla blablabla 我希望能够做类似的
  • libcurl:我无法像浏览器一样快地下载网络资源

    如果您愿意 请检查这个简单的网页 http alvein freevar com http alvein freevar com这只是一个简单的画廊 里面有 1999 年的小图片 Chrome和Edge均完成满载10秒以下 缓存为空 像这样

随机推荐

  • 使用 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