Libcurl发送POST大包数据低效率问题的解决方案(curl_easy_perform耗时较久)

遇到一个Libcurl发送时间较长问题,查阅了很多资料,有说是Libcurl机制导致,有说是使用Share模式可以提高性能,验证多个,无法解决问题。

还是抓包工具比较好用。大包数据如图所示:

Libcurl发送POST大包数据低效率问题的解决方案(curl_easy_perform耗时较久)

多了一个Expect的Header字段,但是程序中没有进行设置,怀疑是Libcurl添加上的。

查阅资料,关于Expect的解释如下:

Libcurl发送POST大包数据低效率问题的解决方案(curl_easy_perform耗时较久)

在libcurl的Header设置中将Expect设置为“Except:”,使其不发送“Expect: 100-continue”可以解决发送时间较长问题。


参考文档:

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Expect