web-dev-qa-db-ger.com

curl: (1) Protokoll https wird in libcurl nicht unterstützt oder deaktiviert

Ich bin verrückt nach der Installation der Rails-Umgebungen unter Ubuntu 11.04. Ich starte den Befehl rvm install 1.9.2 --with-openssl-dir=/usr/local und erhalte folgende Fehlermeldung:

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

Ich googelte den ganzen Tag ohne etwas zu bekommen. Trifft jemand das gleiche Problem?

98

Bekam die Antwort HIER für Windows, Dort heißt es:

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

Woops, erstmal probieren und schon ein Fehler:

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

Der Grund für diesen Fehler ist irgendwie dumm, Windows mag es nicht, wenn Sie einfache Anführungszeichen für die Befehle verwenden. Der korrekte Befehl lautet also:

curl –XPUT "http://localhost:9200/api/twittervnext/Tweet"
190
cnlevy

Ich stieß auf dieses Problem und stellte fest, dass vor der https ein Leerzeichen war, das das Problem verursachte. " https://" vs "https://" 

57
jbrahy

Beim Versuch, rvm für Ruby zu installieren, ist das gleiche Problem aufgetreten.

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)

Quelle

10
R T

Dies wird speziell im libcurl FAQ -Eintrag erwähnt " Protokoll xxx wird in libcurl nicht unterstützt oder deaktiviert.".

Zu Ihrem Vergnügen füge ich die Erklärung auch hier ein:

Bei der Weitergabe einer URL an curl zur Verwendung kann dies darauf hinweisen, dass die Ein bestimmtes Protokoll wird nicht unterstützt oder deaktiviert. Der besondere Weg Diese Fehlermeldung wird formuliert, weil curl kein .__ macht. Unterscheidung intern, ob ein bestimmtes Protokoll nicht .__ ist. unterstützt (dh es wurde nie Code hinzugefügt, der das -Protokoll spricht) oder ob es explizit deaktiviert wurde. curl kann nur zu .__ gebaut werden. unterstützen einen bestimmten Satz von Protokollen, und der Rest würde dann deaktiviert werden oder nicht unterstützt. 

Beachten Sie, dass dieser Fehler auch auftritt, wenn Sie eine falsch geschriebene Übergeben. Protokollteil wie in "htpt: //example.com" oder als im weniger offensichtlichen Wenn Sie dem Protokollteil ein Leerzeichen voranstellen, wie in " http://example.com/ ".

8
Daniel Stenberg

Problem mit flag --with-darwinssl gelöst

Wechseln Sie in den Ordner mit dem Quellcode

Laden Sie es hier herunter https://curl.haxx.se/download.html

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

starten Sie Ihre Konsole neu und es ist fertig!

In meinem Fall wurde das HTTPS-Protokoll überhaupt nicht von libcurl unterstützt. Um herauszufinden, welche Protokolle unterstützt werden und welche nicht, habe ich die curl-Version mit dem Befehl überprüft:

curl --version

Es lieferte folgende Informationen: Curl 7.50.3 (x86_64-Apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Protokolle: dict datei ftp ftps Gopher http imap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Funktionen: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets 

wo das https-Protokoll nicht unterstützt wird. 

Dann habe ich curl neu installiert und mit den folgenden Befehlen installiert (nach dem Entpacken):

./configure --with-darwinssl (Aktivieren der SSL-Kommunikation in Mac)

make

test machen

Sudo make installieren

Und nach einigen Minuten Arbeit wurden Probleme gelöst!

Dann führe ich den curl version Befehl erneut aus, der zeigte:

curl 7.50.3 (x86_64-Apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Protokolle: Dict-Datei ftp ftps __. Funktionen: IPv6-NTLM-NTLM_WB-SSL-Bibliothek für große Dateien UnixSockets 

HTTPS-Protokoll aufgetaucht!

Schließlich eine nützliche Site, auf die verwiesen werden kann, wenn Sie auf Curl-Probleme stoßen. https://curl.haxx.se/docs/install.html

5
someone

Ich löse es, indem ich 'http://webname...' in "http://webname..." ändere

Beachten Sie das Zitat. Es sollte double (") anstelle von single (') sein.

4
Aminah Nuraini

Der gleiche Fehler bei der Verwendung von curl auf https-Site wie 

curl https://api.dis...

wie von ganesh darauf hingewiesen, lag es daran, dass meine Version von curl nicht ssl aktiviert war. ging zurück und lud die Version mit ssl herunter und es funktionierte gut.

1
Deepak Rao

Mein Problem wurde durch ein nicht angezeigtes UTF-Symbol hervorgerufen. Ich kopiere den Link von nginx track und bekam den nächsten in der Zwischenablage:

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            

Das Problem-Symbol ist 0xe2 0x80 0x8bNULL WIDTH JOINER , vor https.

1
SergA

Ich habe gerade die curl mit configure-Optionen neukompiliert, die auf den Bibliotheksordner openssl 1.0.2g und den Include-Ordner zeigen, und ich erhalte diese Meldung immer noch. Wenn ich ldd on curl mache, zeigt es nicht, dass es entweder libcrypt.so oder libssl.so verwendet. Ich gehe davon aus, dass dies bedeuten muss, obwohl make und make install ohne Fehler erfolgreich waren, dennoch hat curl keine HTTPS-Unterstützung? Konfigurieren und machen war wie folgt:

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

Ich sollte erwähnen, dass libssl.so.1 in /local/scratch/PACKAGES/local/lib ist. Es ist unklar, ob die Option --with-ssl dort oder auf das Verzeichnis verweisen soll, in dem die Datei openssl die Datei openssl.cnf platziert hat. Ich habe mich für Letzteres entschieden. Wenn es sich jedoch um das erstere handeln sollte, hätte das Make mit einem Fehler fehlgeschlagen, dass es die Bibliothek nicht finden konnte.

0
tedtoal

Durch die Angabe des Protokolls innerhalb der URL wird möglicherweise Ihr Problem gelöst.

Ich hatte ein ähnliches Problem (bei der Verwendung von curl php client):

Ich habe domain.com anstelle von sftp: //domain.com übergeben, was zu diesem verwirrenden Fehler geführt hat:

Protokoll "http", das in libcurl nicht unterstützt oder deaktiviert wird, hat 0 Sekunden gedauert.

0
ntt

Sieht so aus, als gäbe es schon so viele Antworten, aber das Problem, mit dem ich zu tun hatte, war mit Anführungszeichen.

und 

"

Das erste doppelte Anführungszeichen in das zweite, das für mich bearbeitet wurde, ändern, unten ist die Beispiel-Locke:

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