curl : (1) 프로토콜 https가 libcurl에서 지원되지 않거나 비활성화되었습니다


162

Ubuntu 11.04에 Rails 환경을 설치하려고합니다. 명령을 실행 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)?
Omri Barel

같은 문제를 해결하기 위해 노력했습니다
Giuseppe Di Federico

1
컬이 HTTPS를 지원하지 않는다고 믿기가 어렵습니다. rvm에 자체 컬이 제공되거나 curl ( sudo apt-get install curl)을 설치하지 않았을 수 있습니다 . 시도 curl -o "google.html" https://google.comHTTPS가 지원되는지 확인합니다.
Omri Barel

와 같은 오류 메시지가 나타납니다 RCurl.
isomorphismes

이 답변에 대한 대답이 없다는 것에 놀랐습니다.
jbrahy

답변:


295

창문에 대한 대답이 여기 에 있습니다.

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
제공된 다른 답변이 Windows에서 작동하지 않으면 대신 Windows SSL 사용 cURL curl.haxx.se/latest.cgi?curl=win64-ssl-sspi를 사용하십시오.
ganesh

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" }'단일 및 이스케이프되지 않은 이중에주의하십시오. 잘못된 부분에 따옴표.
Emmanuel Mahuni

@EmmanuelMahuni 단서에 감사드립니다. bitbucket 파이프 라인에서 CURL을 시도하는 동안 동일한 문제가 발생했습니다. 시작 및 종료에서 이중을 제거한 후 내 값에는 큰 따옴표 ( ")가 포함됩니다 (jq를 사용하여 aws cli에서 json 응답에서 읽는 중). 나를 위해 일한 방법은 다음과 같습니다 new_url=$( echo $url | tr -d \" )
Appu Mistri

1
당신은 나를 너무 많이 저장했습니다! 감사!
Richard Varno

1
macOS에서 curl과 동일한 효과가 있습니다.
not2savvy

82

나는이 문제에 부딪 쳤고 그 전에 https문제를 일으킨 공간이 있다는 것을 알았습니다 . " https://"vs"https://"


6
그리고 나는 똑 같았다. 지구상의 지옥에서 왜이 오류가 발생하는지 놀랐습니다. :) +1 공유하기
Awais Qarni

3
필자가 필요하지는 않지만 기본 bash 값을 작은 따옴표
Mathieu Dumoulin

1
이것이 너무 많은 사람들에게 문제가 된 것이 놀랍습니다. 이 문제는 때때로 발생하지만 다소 모호한 것 같습니다. 아 잘 감사합니다
dgo

1
그것은 저에게 문제였습니다. 감사합니다 @jbrahy
colecmc

1
그렇습니다. 공간을 제거하면 나에게 잘 작동했습니다.
Amandeep kaur

21

이미 많은 답변이있는 것처럼 보이지만 내가 직면 한 문제는 큰 따옴표였습니다. 다음과 같은 차이점이 있습니다.

"

첫 번째 큰 따옴표를 두 번째로 변경하면 나를 위해 일했습니다. 아래는 샘플 컬입니다.

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

물론 내 사람.
Pavan_Obj

이것은 내 문제를 해결했습니다.
Hari Ennekat

고맙습니다 :).
Pavan_Obj

11

루 비용 rvm을 설치하는 동안 동일한 문제가 발생했습니다. 해결책을 찾았습니다 : 루트의 다운로드 폴더에서 curl (tar)을 추출한 후.

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)

출처



8

이것은 libcurl FAQ 항목 "libcurl에서 프로토콜 xxx가 지원되지 않거나 비활성화되어 있음 "에 구체적으로 언급되어 있습니다.

당신의 즐거움을 위해 여기에 설명도 포함시킵니다.

사용할 컬을 URL에 전달할 때 특정 프로토콜이 지원되지 않거나 비활성화되어 있다고 응답 할 수 있습니다. 이 오류 메시지가 표현되는 특정 방법은 curl이 특정 프로토콜이 지원되지 않는지 (즉, 해당 프로토콜을 말하는 방법을 알고있는 코드를 전혀 추가하지 않았는지) 명시 적으로 비활성화되었는지 여부를 내부적으로 구분하지 않기 때문입니다. curl은 주어진 프로토콜 세트 만 지원하도록 빌드 될 수 있으며 나머지는 비활성화되거나 지원되지 않습니다.

이 오류는 "htpt : //example.com"과 같이 철자가 틀린 프로토콜 부분을 전달하거나 " http : // example 과 같이 공백으로 프로토콜 부분을 접두사로 표시하는 경우 덜 분명한 경우와 같이 발생합니다 . .com / ".


10
이 답변이 OP에 문제를 해결하기 위해해야 ​​할 일이 무엇인지 설명하지는 않습니다.
isomorphismes

3
그것은 그의 명령 행을 사용할 HTTPS와 빌드 libcurl에 충분한 아니라는 것을 암시하는 어떤 메시지 수단, 설명
다니엘 Stenberg 사용자를

공백 접두사가 붙었습니다. '프로토콜 "xxx"가 libcurl에서 지원되지 않거나 비활성화되었습니다'라는 오류 만 표시되는 경우
to

8

필자의 경우 처음에는 libcurl에서 HTTPS 프로토콜을 지원하지 않았습니다. 지원되는 프로토콜과 지원되지 않는 프로토콜을 찾으려면 다음 명령을 사용하여 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 고퍼 HTTP IMAP IMAPS LDAP LDAPS POP3 POP3S RTSP SMB 중소기업 SMTP SMTPS 텔넷 TFTP 특징 : IPv6의 큰 파일로 NTLM NTLM_WB SSL을 UnixSockets libz

https 프로토콜이 지원되지 않는 곳.

그런 다음 curl을 다시 설치하고 포장을 풀고 다음 명령을 사용하여 설치했습니다.

./configure --with-darwinssl (Mac에서 SSL 통신 사용) make make test sudo make install

그리고 몇 분의 작업 끝에 문제가 해결되었습니다!

그런 다음 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 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


7

난 그냥 변경 'http://webname...'하여 해결"http://webname..."

인용문을 주목하십시오. "단일 ( ') 대신 이중 ( ) 이어야합니다 .


예! 이것은 Windows 명령 프롬프트에서 curl을 실행하여 문제를 해결했습니다. 감사합니다!
Ryano

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을 사용할 때와 같은 오류가 발생했습니다.

curl https://api.dis...

ganesh 에서 지적했듯이 curl의 내 버전이 SSL을 활성화하지 않았기 때문입니다. 되돌아 가서 ssl로 버전을 다운로드했는데 정상적으로 작동했습니다.


1
다운로드 페이지에 SSL 옵션이 표시되지 않았습니다.
Patrick Borkowicz

0

openssl 1.0.2g 라이브러리 폴더와 include 폴더를 가리키는 구성 옵션으로 curl을 다시 컴파일했지만 여전히이 메시지가 나타납니다. 나는 컬에 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옵션이 해당 위치를 가리키는 지 아니면 openssl 설치가 openssl.cnf 파일을 배치 한 디렉토리를 가리켜 야 하는지 확실하지 않습니다 . 나는 후자를 선택했다. 그러나 전자가되어야한다면, 라이브러리를 찾을 수 없다는 오류로 make가 실패했을 것입니다.


링크 텍스트 자체가 정확합니다. curl은 https를 사용하여 검색 할 수 없으며 이유를 모르겠습니다.
tedtoal 2016 년

0

URL 내에 프로토콜을 지정하면 문제가 해결 될 수 있습니다.

curl php client를 사용하는 동안 비슷한 문제가 발생했습니다.

sftp : //domain.com 대신 domain.com 을 전달 하여이 혼란스러운 오류가 발생했습니다.

libcurl에서 프로토콜 "http"가 지원되지 않거나 0으로 설정되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.