Je suis devenu fou en installant les environnements Rails sur Ubuntu 11.04. Je lance la commande rvm install 1.9.2 --with-openssl-dir=/usr/local
et j'obtiens toujours l'erreur suivante:
curl : (1) Protocol https not supported or disabled in libcurl
J'ai googlé toute la journée sans rien obtenir. Est-ce que quelqu'un rencontre le même problème?
Vous avez la réponse ICI pour Windows, Il est indiqué que:
curl -XPUT 'http://localhost:9200/api/twittervnext/Tweet'
Woops, essayez d'abord et déjà une erreur:
curl: (1) Protocol 'http not supported or disabled in libcurl
La raison de cette erreur est un peu stupide, Windows ne l’aime pas lorsque vous utilisez des guillemets simples pour les commandes. Donc, la commande correcte est:
curl –XPUT "http://localhost:9200/api/twittervnext/Tweet"
J'ai rencontré ce problème et il s'est avéré qu'il y avait un espace avant la https
qui était à l'origine du problème. " https://"
vs "https://"
J'ai rencontré le même problème en essayant d'installer rvm pour Ruby . Trouvé la solution: Après avoir extrait curl (tar) dans le dossier de téléchargement de 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)
Ceci est spécifiquement mentionné dans l'entrée libcurl FAQ " Le protocole xxx n'est pas pris en charge ou est désactivé dans libcurl ".
Pour votre plus grand plaisir, j'intègre ici l'explication suivante:
Lorsque vous transmettez une URL à utiliser, il peut répondre que le protocole particulier n'est pas pris en charge ou désactivé. La manière particulière Ce message d'erreur est formulé parce que curl ne crée pas de distinction interne du point de savoir si un protocole particulier n'est pas pris en charge (c’est-à-dire qu’il n’a jamais ajouté de code sachant parler ce protocole .__) ou s’il était explicitement désactivé. curl peut être construit pour seulement supporter un ensemble donné de protocoles, et le reste serait alors désactivé ou non pris en charge.
Notez que cette erreur se produira également si vous transmettez une erreur d’orthographe partie de protocole comme dans "htpt: //example.com" ou comme dans le moins évident case si vous préfixez la partie de protocole avec un espace comme dans " http://example.com/ ".
Résolu ce problème avec flag --with-darwinssl
Aller au dossier avec le code source curl
Téléchargez-le ici https://curl.haxx.se/download.html
Sudo ./configure --with-darwinssl
make
make install
redémarrez votre console et c'est fait!
Dans mon cas, le protocole HTTPS n'était pas pris en charge par libcurl. Pour savoir quels protocoles sont pris en charge et lesquels ne le sont pas, j'ai vérifié la version de curl à l'aide de la commande suivante:
curl --version
Il a fourni les informations suivantes: Curl 7.50.3 (x86_64-Apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Protocoles: fichier dict ftp ftps Gopher http imap imaps ldap ldaps pop3 pop3 rtsp smb smbs smtp smtps telnet tftp Caractéristiques: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
où le protocole https n'est pas pris en charge.
Ensuite, j'ai réinstallé curl et l'ai installé à l'aide des commandes suivantes (après avoir décompressé):
./configure --with-darwinssl (activer la communication SSL dans mac)
make
faire un test
Sudo fait installer
Et après plusieurs minutes de travail, les problèmes résolus!
Ensuite, j'ai relancé la commande curl version, elle a montré:
curl 7.50.3 (x86_64-Apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 Protocoles: fichier dict ftp ftps Gopher http https imap imaps ldap ldaps pop3 pop3s smb smb smb smb sms smtp telnet tftp Caractéristiques: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
Le protocole HTTPS est arrivé!
Enfin, un site utile à consulter lorsque vous rencontrez des problèmes de boucles . https://curl.haxx.se/docs/install.html
Je résous simplement en remplaçant 'http://webname...'
par "http://webname..."
Notez la citation. Il devrait être double ("
) au lieu de simple ('
).
Vous avez la même erreur lorsque vous utilisez curl sur un site https comme
curl https://api.dis...
comme l'a souligné ganesh , c'est parce que ma version de curl n'était pas activée par SSL. est retourné et a téléchargé la version avec ssl et cela a bien fonctionné.
Mon problème a été signalé par le symbole UTF non affiché. Je copie le lien de nginx track et j'ai le suivant dans le presse papier:
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
Le symbole du problème est 0xe2 0x80 0x8b
ZERO WIDTH JOINER , qui précède https.
Je viens de recompiler curl avec les options de configuration pointant vers le dossier de bibliothèque openssl 1.0.2g et le dossier d’inclusion, et j’obtiens toujours ce message. Quand je fais ldd sur curl, cela ne montre pas qu’il utilise libcrypt.so
ou libssl.so
, donc je suppose que cela signifie que même si les make
et make install
ont réussi sans erreurs, néanmoins curl ne prend pas en charge HTTPS? Configurer et faire était comme suit:
./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
Je devrais mentionner que libssl.so.1
est dans /local/scratch/PACKAGES/local/lib
. Il est difficile de savoir si l'option --with-ssl
doit y pointer ou dans le répertoire où l'installation openssl a placé le fichier openssl.cnf. J'ai choisi le dernier. Mais si c'était supposé être l'ancien, la marque aurait dû échouer avec une erreur telle qu'elle n'a pas pu trouver la bibliothèque.
Spécifier le protocole dans l'URL pourrait résoudre votre problème.
J'ai eu un problème similaire (lors de l'utilisation de curl php client):
Je passais domain.com au lieu de sftp: //domain.com qui a entraîné cette erreur déroutante
Le protocole "http" non pris en charge ou désactivé dans libcurl, a pris 0 secondes.
On dirait qu'il y a déjà tellement de réponses, mais le problème que j'ai rencontré était celui des guillemets .. .. Il y a une différence entre:
“
et
"
En remplaçant la première citation double par la deuxième qui a fonctionné pour moi, voici l'exemple de boucle:
curl -X PUT -u xxx:xxx -T test.txt "https://test.com/test/test.txt"