将http 1.1设置为默认的libcurl linux

时间:2018-10-30 17:39:02

标签: r http curl libcurl

我正在开发一个R项目,该项目通过GTrends库向Google趋势发出一些http请求。但是,当我发出请求时,出现此错误:

Error in curl::curl_fetch_memory(url, handle = handle): Stream error in the HTTP/2 framing layer.

我已经搜索了一个解决方案,并且发现要禁用curl中的http2,如此处所述:solution。但是,提供的解决方案handle_setopt(handle, http_version = 0L)至少对我来说不起作用。 Curl文档说:从7.47.0开始,curl工具默认为HTTPS连接启用HTTP / 2 。因此,有谁知道如何将http 1.1设置为默认值以避免这种错误?我正在使用Ubuntu 18.04 LTS和curl 7.58.0。感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

默认表示除非已设置其他版本,否则将使用什么。因此,将1.1设置为所需的协议版本将覆盖默认的libcurl本身将使用的版本。

也就是说,不要将工具curl与libcurl混淆。如果您使用该库,则命令行工具的默认选择对您来说无关紧要!