curl: (1) प्रोटोकॉल https libcurl में समर्थित या अक्षम नहीं है


162

मैं Ubuntu 11.04 पर रेल वातावरण स्थापित करने की कोशिश कर रहा हूं। जब मैं कमांड लॉन्च करता हूं rvm install 1.9.2 --with-openssl-dir=/usr/localतो निम्न त्रुटि प्राप्त होती है:

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

इसे कैसे हल किया जा सकता है?


यदि आप उपयोग नहीं करते हैं --with-openssl-dir=/usr/local(तो बस rvm install 1.9.2)?
ओमरी बरेल

एक ही समस्या है, मैंने कहा कि - साथ ... एक समाधान था
Giuseppe Di Federico

1
मुझे यह विश्वास करना मुश्किल है कि आपका कर्ल HTTPS का समर्थन नहीं करता है। यह संभव है कि आरवीएम अपने कर्ल के साथ आता है, या कि आपने कर्ल ( sudo apt-get install curl) स्थापित नहीं किया है । curl -o "google.html" https://google.comयह देखने की कोशिश करें कि क्या HTTPS समर्थित है।
ओमरी बरेल

मैं एक ही त्रुटि संदेश के साथ कर रहा हूँ RCurl
isomorphismes

आश्चर्य है कि इस पर एक स्वीकृत उत्तर नहीं है।
जुबरी

जवाबों:


295

यहाँ जवाब मिला खिड़कियों के लिए, यह वहाँ कहते हैं कि:

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

Woops, पहले प्रयास करें और पहले से ही एक त्रुटि:

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

इस त्रुटि का कारण बेवकूफ की तरह है, विंडोज को यह पसंद नहीं है जब आप कमांड के लिए एकल उद्धरण का उपयोग कर रहे हैं । तो सही कमांड है:

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

2
Windows SSL- सक्षम cURL curl.haxx.se/latest.cgi?curl=win64-ssl-sspi का उपयोग करें यदि इसके बजाय अन्य प्रदान किए गए उत्तर खिड़कियों के लिए काम न करें।
गणेश g ’

6
यह सही है, और बस थोड़ा सा नमक जोड़ने के लिए, यदि आप वास्तव में स्ट्रिंग में दोहरे उद्धरणों का उपयोग करना चाहते हैं, तो आपको उन्हें बच निकलने की आवश्यकता है जैसे: curl "http://localhost:3030/messages/" -H "Content-Type: application/json" --data-binary "{ \"name\":\"Curler\", \"text\": \"Hello from the command line\" }"इसके बजाय curl "http://localhost:3030/messages/" -H "Content-Type: application/json" --data-binary '{ "name":"Curler", "text": "Hello from the command line" }'... एकल का नोट लें और डबल का उपयोग न करें गलत हिस्से पर उद्धरण।
इमैनुएल महुनी

@EmmanuelMahuni सुराग के लिए धन्यवाद। मैं बिटबकैट पाइपलाइन से CURL के लिए प्रयास करते समय एक ही मुद्दे पर चल रहा था, मेरे मूल्य में दोहरे उद्धरण शामिल हैं (") (जैसा कि मैं jq से प्रतिक्रिया का उपयोग कर रहा हूँ aws cli से jq का उपयोग करके), एक बार शुरू और अंत से डबल निकालने के बाद। मेरे लिए काम किया। यहाँ बताया गया है कि मैंने ऐसा कैसे किया। new_url=$( echo $url | tr -d \" )
अप्पू मिस्त्री

1
आपने अभी मुझे बहुत समय बचाया है! धन्यवाद!
रिचर्ड वर्नो

1
MacOS पर कर्ल के साथ एक ही प्रभाव होने।
Not2savvy

82

मैं इस समस्या में भाग गया और पता चला कि इससे पहले एक जगह httpsथी जो समस्या पैदा कर रही थी। " https://"बनाम"https://"


6
और मैं वही हो गया। मैं आश्चर्यचकित था कि पृथ्वी पर नरक मुझे यह त्रुटि क्यों मिल रही है। :) इसे साझा करने के लिए +1।
प्रती क़ुरानी

3
मेरे लिए भी ऐसा ही था, यह एक एकल उद्धरण था क्योंकि हमने एकल उद्धरण के साथ डिफ़ॉल्ट बैश मूल्य को लपेटा था, हालांकि यह आवश्यक नहीं था ...
मैथ्यू डुमौलिन

1
यह आश्चर्यजनक है कि यह स्पष्ट रूप से इतने सारे लोगों के लिए एक समस्या थी - खुद को शामिल किया। यह बात समय-समय पर होती है, लेकिन यह एक तरह से अस्पष्ट है। ठीक है। धन्यवाद
dgo

1
मेरे लिए यही मुद्दा था। धन्यवाद @jbrahy
colecmc

1
हां मुझे वही मिला। अंतरिक्ष को हटाकर इसने मेरे लिए अच्छा काम किया।
अमनदीप कौर

21

ऐसा लगता है कि पहले से ही बहुत सारे उत्तर हैं लेकिन मैंने जिस मुद्दे का सामना किया वह दोहरे उद्धरणों के साथ था। इस बीच एक अंतर है:

तथा

"

दूसरे के लिए 1 सेंट डबल कोट को बदलना मेरे लिए काम कर रहा है, नीचे नमूना कर्ल है:

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

ज़रूर बात मेरे यार
पावन_ओबीजे

इसने मेरी समस्या ठीक कर दी।
हरि एननेकट

खुशी है कि यह तय हो गया :)।
पावन_ओबीजी

11

मुझे रूबी के लिए आरवीएम स्थापित करने की कोशिश करते समय एक ही समस्या का सामना करना पड़ा। समाधान मिला: रूट के डाउनलोड फ़ोल्डर में कर्ल (टार) निकालने के बाद।

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)

स्रोत


9

इस समस्या को हल किया - झंडे के साथ- darwinssl

कर्ल सोर्स कोड वाले फोल्डर में जाएं

इसे यहां डाउनलोड करें https://curl.haxx.se/download.html

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

अपने कंसोल को पुनरारंभ करें और यह किया जाता है!


8

यह विशेष रूप से libcurl FAQ प्रविष्टि " प्रोटोकॉल xxx में समर्थित है या libcurl में अक्षम नहीं है

आपकी खुशी के लिए मैं यहाँ स्पष्टीकरण भी दे रहा हूँ:

उपयोग करने के लिए यूआरएल पर कर्ल करने के लिए गुजरते समय, यह जवाब दे सकता है कि विशेष प्रोटोकॉल समर्थित या अक्षम नहीं है। इस त्रुटि संदेश को जिस तरह से विशेषीकृत किया गया है वह इसलिए है क्योंकि कर्ल आंतरिक रूप से कोई अंतर नहीं करता है कि क्या कोई विशेष प्रोटोकॉल समर्थित नहीं है (यानी कभी भी कोई कोड नहीं मिला जो जानता है कि उस प्रोटोकॉल को कैसे बोलना है) या यदि यह स्पष्ट रूप से अक्षम था। कर्ल केवल प्रोटोकॉल के दिए गए सेट का समर्थन करने के लिए बनाया जा सकता है, और बाकी तब अक्षम या समर्थित नहीं होगा।

ध्यान दें कि यह त्रुटि तब भी होगी जब आप "htpt: //example.com" में गलत वर्तनी वाले प्रोटोकॉल भाग को पास करते हैं या कम स्पष्ट स्थिति में जैसे कि आप प्रोटोकॉल भाग को " http: // " जैसे उदाहरण के साथ जोड़ते हैं। .com / ”।


10
मुझे विश्वास नहीं है कि यह उत्तर ओपी को समझाता है कि समस्या को ठीक करने के लिए उसे क्या करने की आवश्यकता है।
isomorphismes

3
यह बताता है कि संदेश का क्या मतलब है, जिसका अर्थ है कि उसकी कमांड लाइन HTTPS सक्षम के साथ libcurl का निर्माण करने के लिए पर्याप्त नहीं थी
डैनियल स्टेनबर्ग

अंतरिक्ष उपसर्ग द्वारा थोड़ा समझे। अगर केवल त्रुटि 'प्रोटोकॉल "xxx" लिबस्कुरल में समर्थित या अक्षम नहीं है "पढ़े
तोरण

8

मेरे मामले में, HTTPS प्रोटोकॉल को पहले स्थान पर libcurl द्वारा समर्थित नहीं किया गया था। यह जानने के लिए कि कौन से प्रोटोकॉल समर्थित हैं और कौन से नहीं हैं, मैंने कमांड का उपयोग करके कर्ल संस्करण की जाँच की:

curl --version

यह निम्नानुसार जानकारी प्रदान करता है: curl 7.50.3 (x86_64-apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 प्रोटोकॉल: तानाशाह फ़ाइल ftp ftps गोफर http imap, ldap ldaps pop3 pop3s rtsp smb smb, smtp smtps telnet tftp

जहां https प्रोटोकॉल समर्थित नहीं है।

फिर मैंने कर्ल को फिर से स्थापित किया और इसे निम्न कमांड का उपयोग करके स्थापित किया (अनपैक किए जाने के बाद):

./configure --war-darwinssl (मैक में ssl संचार सक्षम करें) परीक्षण sudo स्थापित करें

और कई मिनट के काम के बाद, समस्याएँ हल हो गईं!

फिर मैंने कर्ल संस्करण कमांड को फिर से चलाया, यह दिखाया गया है:

curl 7.50.3 (x86_64-apple-darwin15.6.0) libcurl/7.50.3 SecureTransport zlib/1.2.5 प्रोटोकॉल: तानाशाह फ़ाइल ftp ftps गोफर http https imap ldap ldaps pop3 pop3s rtsp smb smtp smtps telnet tftp

HTTPS प्रोटोकॉल दिखाया!

अंत में, जब आप कर्ल की समस्याओं में भाग लेते हैं तो संदर्भित करने के लिए एक उपयोगी साइट। https://curl.haxx.se/docs/install.html


7

मैं तो बस बदलकर इसे हल 'http://webname...'करने के लिए"http://webname..."

बोली को नोटिस करें। यह सिंगल ( ") के बजाय डबल ( ) होना चाहिए '


हाँ! यह मेरे लिए समस्या हल हो गई, मेरी विंडोज़ कमांड प्रॉम्प्ट में कर्ल चल रहा है। धन्यवाद!
रयानो

2

मेरी समस्या को UTF प्रतीक द्वारा प्रदर्शित न किए जाने के कारण रोका गया था। मैं nginx ट्रैक से लिंक की प्रतिलिपि बनाता हूं और क्लिपबोर्ड में अगला प्राप्त करता हूं :

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 है।


1

जैसे https साइट पर कर्ल का उपयोग करते समय एक ही त्रुटि हुई

curl https://api.dis...

जैसा कि गणेश ने बताया , ऐसा इसलिए था क्योंकि कर्ल के मेरे संस्करण को सक्षम नहीं किया गया था। वापस गया और ssl के साथ संस्करण डाउनलोड किया और यह ठीक काम किया।


1
तो क्या मैंने, डाउनलोड पृष्ठ पर एसएसएल विकल्प नहीं देखा।
पैट्रिक बोरोविक्ज़

0

मैं अभी भी कॉन्फ़िगर किए गए विकल्पों के साथ कर्ल को फिर से खोल देता हूं जो कि खुलता है 1.0.2g लाइब्रेरी फ़ोल्डर और फ़ोल्डर शामिल है, और मुझे अभी भी यह संदेश मिलता है। जब मैं कर्ल पर ldd करता हूं, तो यह नहीं दिखाता है कि यह 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विकल्प को वहां या उस निर्देशिका को इंगित करना चाहिए जहां खुलता है, जहां से खुलता है खुलता है ।.cnf फ़ाइल। मैंने बाद वाला चुना। लेकिन अगर यह पूर्व माना जाता था, तो मेक को एक त्रुटि के साथ विफल होना चाहिए था कि यह पुस्तकालय को नहीं मिला।


लिंक पाठ ही सही है। कर्ल https का उपयोग करके पुनः प्राप्त नहीं कर सकता है, और मुझे नहीं पता कि क्यों।
टेडटेल

0

यूआरएल के भीतर प्रोटोकॉल निर्दिष्ट करने से आपकी समस्या दूर हो सकती है।

मुझे एक समान समस्या थी (कर्ल php क्लाइंट का उपयोग करते समय):

मैं गुजर रहा था sftp के बजाय domain.com : //domain.com जो इस भ्रामक त्रुटि को जन्म देता है:

प्रोटोकॉल "http" libcurl में समर्थित या अक्षम नहीं है, 0 सेकंड लगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.