我正在尝试在Ubuntu 11.04上安装Rails环境。当我启动命令rvm install 1.9.2——with-openssl-dir=/usr/local时,收到以下错误:
curl : (1) Protocol https not supported or disabled in libcurl
如何解决这个问题?
我正在尝试在Ubuntu 11.04上安装Rails环境。当我启动命令rvm install 1.9.2——with-openssl-dir=/usr/local时,收到以下错误:
curl : (1) Protocol https not supported or disabled in libcurl
如何解决这个问题?
当前回答
在https网站上使用curl时得到了相同的错误
curl https://api.dis...
正如ganesh指出的,这是因为我的curl版本没有启用SSL。我回去下载了带有SSL的版本,效果很好。
其他回答
用flag -with-darwinssl解决了这个问题
转到带有curl源代码的文件夹
请在这里下载https://curl.haxx.se/download.html
sudo ./configure --with-darwinssl
make
make install
重新启动控制台就完成了!
在https网站上使用curl时得到了相同的错误
curl https://api.dis...
正如ganesh指出的,这是因为我的curl版本没有启用SSL。我回去下载了带有SSL的版本,效果很好。
在我的例子中,libcurl首先不支持HTTPS协议。为了找出哪些协议被支持,哪些协议不被支持,我使用命令检查了curl版本:
curl --version
它提供的资料如下: libcurl/7.50.3 SecureTransport zlib/1.2.5 . zip (x86_64-苹果-达尔文15.6.0 协议类型:dict文件ftp ftps gopher http imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 特性:IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
恰好不支持HTTPS协议。
然后我重新安装curl,并使用以下命令安装它(在解包后):
./configure——with-darwinssl(在mac中启用SSL通信) 使 做测试 Sudo make install
经过几分钟的工作,问题解决了!
然后我重新运行curl version命令,它显示:
libcurl/7.50.3 SecureTransport zlib/1.2.5 . zip (x86_64-苹果-达尔文15.6.0 协议类型:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 特性:IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
HTTPS协议出现了!
最后,当您遇到curl问题时,可以参考一个有用的站点。 https://curl.haxx.se/docs/install.html
我的问题是由于没有显示UTF符号。我从浏览器中复制链接(在我的情况下,这是一个nginx轨道),并在剪贴板中得到以下内容:
$ echo -n "https://sk.ee/upload/files/ESTEID-SK_2015.pem.crt" | hexdump -C
00000000 e2 80 8b 68 74 74 70 73 3a 2f 2f 73 6b 2e 65 65 |...https://sk.ee|
00000010 2f 75 70 6c 6f 61 64 2f 66 69 6c 65 73 2f 45 53 |/upload/files/ES|
00000020 54 45 49 44 2d 53 4b 5f 32 30 31 35 2e 70 65 6d |TEID-SK_2015.pem|
00000030 2e 63 72 74 |.crt|
问题出现在https之前的0xe2 0x80 0x8b序列中。这个序列是一个用UTF-8编码的零宽度JOINER。
这里有窗户的答案, 上面说:
curl -XPUT 'http://localhost:9200/api/twittervnext/tweet'
哎呀,第一次尝试就已经出错了:
curl: (1) Protocol 'http not supported or disabled in libcurl
这个错误的原因有点愚蠢,Windows不喜欢你在命令中使用单引号。所以正确的命令是:
curl –XPUT "http://localhost:9200/api/twittervnext/tweet"