curl响应说“HTTP版本不支持”,错误505

我使用curl发出请求,响应说HTTP版本不被支持,错误505.什么是使HTTP版本支持的步骤。

谷歌search后,我得到了,我应该使用curl —http2.0使其工作,但我的curl版本不支持该选项,因为它是curl7.33添加,而我使用curl的版本:curl7.19.7 (x86_64-redhat-linux-gnu)libcurl / 7.19.7 NSS / 3.14.0.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2

现在,我应该升级我的curl还是有任何其他的方式来支持,或者我缺less我的要求(抱歉,但我无法显示请求)的东西。

如果我需要升级它,那么请指定我如何将curl升级到7.33.0版的方式,我没有得到任何正确的方法来做到这一点。

对于我来说这个问题是错误的(我有空间)在这个问题后,结果抱怨坏http versioncurl是虚惊一场。

今天我用Imperva Rest API curl命令得到了同样的错误。

原来我正在使用的URL有一些路径/(变量中包含空格的值) http://.../.../some path/or/some thing here/resource/sites ,它没有允许空格

为了解决这个问题,我用%20来替换空格字符(按照Imperva REST API v11.5 doc): http://.../.../some%20path/or/some%20thing%20here/resource/sites ,然后它的工作。

curl默认使用HTTP 1.1(-v和–trace会显示给你),所以如果不支持,你可能需要使用–http1.0选项切换到H​​TTP 1.0。

http 2几乎不被服务器使用,只有最近的curl版本才支持。

对于我来说,它是通过一个半编码的“网址”卷曲,特别是空格不编码到“%20”,而其他工作人员编码正确。 有人应该通过完全解码或完全编码的“url”。