curl : (1) Protocol https not supported or disabled in libcurl

Ruby on-RailsCurlOpensslLibcurlUbuntu 11.04

Ruby on-Rails Problem Overview


I'm trying to install the Rails environments on Ubuntu 11.04. When I launch the command rvm install 1.9.2 --with-openssl-dir=/usr/local the following error is received:

curl : (1) Protocol https not supported or disabled in libcurl

How can this be resolved?

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

Got the answer HERE for windows, it says there that:

curl -XPUT 'http://localhost:9200/api/twittervnext/tweet'

Woops, first try and already an error:

curl: (1) Protocol 'http not supported or disabled in libcurl

The reason for this error is kind of stupid, Windows doesn’t like it when you are using single quotes for commands. So the correct command is:

curl –XPUT "http://localhost:9200/api/twittervnext/tweet"

Solution 2 - Ruby on-Rails

I ran into this problem and turned out that there was a space before the https which was causing the problem. " https://" vs "https://"

Solution 3 - Ruby on-Rails

Looks like there are so many Answers already but the issue I faced was with double quotes. There is a difference in between:

and

"

Changing the 1 st double quote to the second worked for me, below is the sample curl:

curl -X PUT -u xxx:xxx -T test.txt "https://test.com/test/test.txt"

Solution 4 - Ruby on-Rails

I encountered the same problem while trying to install rvm for ruby. found the solution: after extracting curl (tar) in downloads folder of root.

cd /root/Downloads/curl # step-1
./configure --with-ssl # step-2
make # step-3
make install # step-4 (if not root, use sudo before command)

source

Solution 5 - Ruby on-Rails

In my case, HTTPS protocol was not supported by libcurl at the first place. To find out which protocols are supported and which are not, I checked the curl version using command:

curl --version

It provided information as follows: curl 7.50.3 (x86_64-apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Protocols: dict file ftp ftps gopher http imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets

where https protocol happens to be not supported.

Then I re-installed curl and installed it using the following commands(after unpacked):

> ./configure --with-darwinssl (enable ssl communication in mac) > make > make test > sudo make install

And after several minutes of work, Problems resolved!

Then I re-run the curl version command, it showed:

curl 7.50.3 (x86_64-apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets

HTTPS protocol showed up!

Finally, a useful site to refer when you run into curl problems. https://curl.haxx.se/docs/install.html

Solution 6 - Ruby on-Rails

I solve it just by changing 'http://webname...' to "http://webname..."

Notice the quote. It should be double (") instead of single (').

Solution 7 - Ruby on-Rails

Solved this problem with flag --with-darwinssl

Go to folder with curl source code

Download it here https://curl.haxx.se/download.html

sudo ./configure --with-darwinssl
make
make install

restart your console and it is done!

Solution 8 - Ruby on-Rails

This is specifically mentioned in the libcurl FAQ entry "Protocol xxx not supported or disabled in libcurl".

For your pleasure I'm embedding the explanation here too:

> When passing on a URL to curl to use, it may respond that the > particular protocol is not supported or disabled. The particular way > this error message is phrased is because curl doesn't make a > distinction internally of whether a particular protocol is not > supported (ie never got any code added that knows how to speak that > protocol) or if it was explicitly disabled. curl can be built to only > support a given set of protocols, and the rest would then be disabled > or not supported. > > Note that this error will also occur if you pass a wrongly spelled > protocol part as in "htpt://example.com" or as in the less evident > case if you prefix the protocol part with a space as in " > http://example.com/";.

Solution 9 - Ruby on-Rails

My problem was coused by not displayed UTF symbol. I copy the link from the browser (in my case it was an nginx track) and got the following in clipboard:

$ 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|

The problem is in the sequence 0xe2 0x80 0x8b, which precedes https. This sequence is a ZERO WIDTH JOINER encoded in UTF-8.

Solution 10 - Ruby on-Rails

Got the same error when using curl on https site like

curl https://api.dis...

as pointed out by ganesh, it was because my version of curl wasn't ssl enabled. went back and downloaded the version with ssl and it worked fine.

Solution 11 - Ruby on-Rails

I just recompiled curl with configure options pointing to the openssl 1.0.2g library folder and include folder, and I still get this message. When I do ldd on curl, it does not show that it uses either libcrypt.so or libssl.so, so I assume this must mean that even though the make and make install succeeded without errors, nevertheless curl does not have HTTPS support? Configure and make was as follows:

./configure --prefix=/local/scratch/PACKAGES/local --with-ssl=/local/scratch/PACKAGES/local/openssl/openssl-1.0.2g --includedir=/local/scratch/PACKAGES/local/include/openssl/openssl-1.0.2g
make
make test
make install

I should mention that libssl.so.1 is in /local/scratch/PACKAGES/local/lib. It is unclear whether the --with-ssl option should point there or to the directory where the openssl install placed the openssl.cnf file. I chose the latter. But if it were supposed to be the former, the make should have failed with an error that it couldn't find the library.

Solution 12 - Ruby on-Rails

Specifying the protocol within the url might solve your problem.

I had a similar problem (while using curl php client) :

I was passing domain.com instead of sftp://domain.com which lead to this confusing error: > Protocol "http" not supported or disabled in libcurl, took 0 seconds.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGiuseppe Di FedericoView Question on Stackoverflow
Solution 1 - Ruby on-RailscnlevyView Answer on Stackoverflow
Solution 2 - Ruby on-RailsjbrahyView Answer on Stackoverflow
Solution 3 - Ruby on-RailsPavan_ObjView Answer on Stackoverflow
Solution 4 - Ruby on-RailsR TView Answer on Stackoverflow
Solution 5 - Ruby on-RailssomeoneView Answer on Stackoverflow
Solution 6 - Ruby on-RailsAminah NurainiView Answer on Stackoverflow
Solution 7 - Ruby on-RailsМаксим МартыновView Answer on Stackoverflow
Solution 8 - Ruby on-RailsDaniel StenbergView Answer on Stackoverflow
Solution 9 - Ruby on-RailsSergAView Answer on Stackoverflow
Solution 10 - Ruby on-RailsDeepak RaoView Answer on Stackoverflow
Solution 11 - Ruby on-RailstedtoalView Answer on Stackoverflow
Solution 12 - Ruby on-RailsnttView Answer on Stackoverflow