Curl: (1) Протокол https не поддерживается или отключен в libcurl

Я с ума схожу с установкой Rails-сред на Ubuntu 11.04. Я запускаю команду rvm install 1.9.2 --with-openssl-dir=/usr/local, и я всегда получаю следующую ошибку:

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

Я гугл весь день, ничего не получая. Кто-нибудь сталкивается с той же проблемой?

Ответ 1

Получил ответ ЗДЕСЬ для окон, там говорится, что:

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"

Ответ 2

Я столкнулся с этой проблемой и выяснил, что перед https возникла проблема, которая вызывала проблему. " https://" vs "https://"

Ответ 3

Я столкнулся с такой же проблемой при попытке установить rvm для ruby. нашел решение: после извлечения curl (tar) в папку загрузки 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)

источник

Ответ 4

Это специально упоминается в личном разделе FAQ " Протокол xxx не поддерживается или отключен в libcurl.

Для вашего удовольствия я также вставляю объяснение:

При передаче URL-адреса для завивки, он может ответить, что конкретный протокол не поддерживается или не отключается. Особый путь это сообщение об ошибке выражается в том, что curl не делает независимо от того, является ли конкретный протокол (т.е. никогда не получал добавленный код, который знает, как говорить, что протокол) или если он был явно отключен. завиток может быть построен только поддерживают заданный набор протоколов, а остальные будут отключены или не поддерживается.

Обратите внимание, что эта ошибка также возникает, если вы передаете неправильно написанное как в "htpt://example.com" или как в менее очевидном если вы префикс части протокола с пробелом, как в " http://example.com/".

Ответ 5

Решите эту проблему с помощью флага --with-darwinssl

Перейдите в папку с исходным кодом curl

Загрузите его здесь https://curl.haxx.se/download.html

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

перезагрузите консоль, и все будет сделано!

Ответ 6

Я решаю это, просто изменив 'http://webname...' на "http://webname..."

Обратите внимание на цитату. Она должна быть двойной (") вместо одиночной (').

Ответ 7

В моем случае протокол HTTPS не поддерживался libcurl в первую очередь. Чтобы узнать, какие протоколы поддерживаются, а какие нет, я проверил версию curl с помощью команды:

curl --version

В нем была представлена ​​следующая информация: curl 7.50.3 (x86_64-apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Протоколы: файл 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 не поддерживается.

Затем я снова установил завиток и установил его, используя следующие команды (после распаковки):

./configure --with-darwinssl (включить ssl-связь в Mac)

сделать

сделать тест

sudo make install

И после нескольких минут работы проблемы решены!

Затем я заново запустил команду версии curl, она показала:

curl 7.50.3 (x86_64-apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Протоколы: файл 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!

Наконец, полезный сайт для ссылки, когда вы сталкиваетесь с проблемами завитки. https://curl.haxx.se/docs/install.html

Ответ 8

Получена такая же ошибка при использовании curl на сайте https, например

curl https://api.dis...

как указано ganesh, это было потому, что моя версия завитка не была включена ssl. вернулся и загрузил версию с помощью ssl, и она отлично работала.

Ответ 9

Я просто перекомпилировал curl с параметрами конфигурации, указывающими на папку библиотеки openssl 1.0.2g и включив папку, и я до сих пор получаю это сообщение. Когда я делаю ldd на curl, он не показывает, что он использует либо libcrypt.so, либо libssl.so, поэтому я предполагаю, что это должно означать, что даже если make и make install удалось без ошибок, тем не менее завиток не имеет HTTPS поддержка? Настроить и сделать было следующим образом:

./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

Я должен упомянуть, что libssl.so.1 находится в /local/scratch/PACKAGES/local/lib. Непонятно, следует ли указать параметр --with-ssl там или в каталог, в котором установка openssl размещала файл openssl.cnf. Я выбрал последний. Но если он должен был быть первым, make должен был с ошибкой, так как он не мог найти библиотеку.

Ответ 10

Задание протокола в URL может решить вашу проблему.

У меня была аналогичная проблема (при использовании curl php client):

Я пропускал domain.com вместо sftp://domain.com, которые приводят к этой запутанной ошибке:

Протокол "http" не поддерживается или отключен в libcurl, занимает 0 секунд.

Ответ 11

Моя проблема была рассмотрена не отображенным символом UTF. Я скопирую ссылку из nginx track и получил следующее в буфере обмена:

0x00000000: e2 80 8b 68 74 74 70 73 3a 2f 2f 73 6b 2e 65 65 2f 75 70 6c 6f 61 64 2f 66 69 6c 65 73 2f 45 53  ...https://sk.ee/upload/files/ES
0x00000020: 54 45 49 44 2d 53 4b 5f 32 30 31 35 2e 70 65 6d 2e 63 72 74                                      TEID-SK_2015.pem.crt            

Символ проблемы 0xe2 0x80 0x8b ZERO WIDTH JOINER, который предшествует https.