如何在Mac OS X上启用curl SSL?

回答 6 浏览 3.8万 2016-01-21

我在Mac OS X 10.11.2上使用终端,我无法处理任何https请求。我总是得到这个错误。

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

我试过这样做,但我得到一个 "错误的目录 "的错误。

./configure --with-ssl=/usr/local/ssl

任何建议都将是有帮助的。

编辑部。

这是我在尝试用ssl进行安装时得到的错误。

configure: error: OpenSSL libs and/or directories were not found where specified!

解决方法。

对于Mac OS X 10.6或更高版本,请使用此选项启用SSL。

./configure --with-darwinssl
Ben 提问于2016-01-21
你有没有试过curl --ssldanielmhanover 2016-01-21
"已安装的libcurl版本不支持这个 "我试着安装Homebrew,但由于是https请求,所以不能通过Terminal。Ben 2016-01-21
在你的案例中,./configure文件的位置是什么?Bista 2016-09-06
curl -V将列出所支持的协议(除了版本之外)。Daryl Spitzer 2018-12-05
6 个回答
#1楼
得票数 38

Homebrew团队最近删除了cURL公式的所有安装选项,这意味着你现在将无法进行brew install curl --with-openssl。取而代之的是做brew install curl-openssl。请确保先用brew uninstall curl卸载旧的那个。

Birkhoff Lee 提问于2019-08-09
这是我需要的信息,它不应该在页面的底部!其他所有人都说要使用"--with-openssl "选项,这已经不可能了。此外,我还不得不关闭我的杀毒软件,因为它阻止了连接,以便能够下载cURL包。Jono 2019-09-01
只是要补充一点,在这之后你需要关闭终端并重新打开。一个小时,我不会再回来了。Witterquick 2019-09-04
参考 - 在2021年,建议用brew install curl安装openssl curl,见这个主题。github.com/Homebrew/discussions/discussions/1268its_a_paddo 2021-04-13
#2楼
得票数 12

以下步骤帮助解决了这个问题:(注意:虽然libcurl会被重建。

# First simply remove curl and try reinstall with openssl:
brew rm curl && brew install curl --with-openssl # Rerun 

如果不能修复,请下载并按以下步骤重建libcurl,它帮助我修复了这个问题。

# Download curl from : https://curl.haxx.se/download.html
wget https://curl.haxx.se/download/curl-7.58.0.zip  # or, wget https://curl.haxx.se/download/curl-*.*.*
unzip curl-7.58.0.zip  # or, unzip curl-*.*.*

./configure --with-darwinssl  # However for Linux(ubuntu): ./configure --with-ssl 
make
sudo make install  # Rerun the program
Surya 提问于2018-03-11
Surya 修改于2018-03-11
这个答案比Ben的好,值得接受。(Vadym Tyemirov的答案对我不起作用)。Daryl Spitzer 2018-12-05
(对于其他同样缺乏shell技能的人来说......)你需要在运行./configure --with-darwinssl之前cd到解压后的curl目录 :-)Spookytheboy 2019-12-03
当运行./configure --with-darwinssl时,有一个错误发生。configure: error: C compiler cannot create executablesSHUMING LU 2020-06-14
#3楼
得票数 7

解决方法。

对于Mac OS X 10.6或更高版本,请使用此选项启用SSL。

./configure --with-darwinssl
Ben 提问于2016-01-21
-bash: ./configure: No such file or directory-该怎么做?我的赏金:stackoverflow.com/questions/39287906/…Bista 2016-09-05
请问mac上的curl安装在哪里?JoaMika 2016-09-16
#4楼
得票数 5

用支持nghttp2的curl替换标准curl,解决了这个问题(需要brew)。

brew install curl --with-nghttp2
brew link curl --force

请求时包含--http2

举例说明。

curl --http2 https://www.example.com

或者说。

curl --header 'Access-Token: o.bFbpTuazstlUZXsnyTWTaJq0biZ' \
--http2 https://www.example.com/

参考资料:https://daniel.haxx.se/blog/2016/08/01/curl-and-h2-on-mac/ https://simonecarletti.com/blog/2016/01/http2-curl-macosx/

Punnerud 提问于2017-02-17
Vadym Tyemirov 修改于2018-06-20
#5楼
得票数 1

我犯了一个菜鸟的错误,把网址加在引号内(curl -v -k "https://URL.com")。在把链接放在撇号内(curl -v -k 'https://URL.com')之后,curl接受了https URL。

David Beckershoff 提问于2019-01-29
删除了引号,并将链接改为curl https://example.com,而不是curl "https://example.com",这就成功了。谢谢!Seeya 2019-05-05
#6楼
得票数 1

对于任何在2021年偶然发现这个问题的人,以及后来使用Xcode 12+试图通过命令行构建他们的项目,并且不想依赖'brew'或其他软件包管理器的人......

我在从github获得curl源代码后遇到了./configure: No such file or directory的问题。

来自github的源码缺少你生成makefile所需的configure exec.

苹果公司在其开源浏览器中提供了curl的源代码以及所需的MacOS/iOS构建设置。

https://opensource.apple.com/source/curl/

https://opensource.apple.com/release/macos-112.html

  1. 下载&解压源码。

  2. 设置你的环境变量 - 苹果平台(macOS、iOS、tvOS、watchOS,以及它们的模拟器对应系统)。

    export ARCH=arm64

    export SDK=iphoneos

    export DEPLOYMENT_TARGET=11.0

    export CFLAGS="-arch $ARCH -isysroot $(xcrun -sdk $SDK --show-sdk-path) -m$SDK-version-min=$DEPLOYMENT_TARGET"

  3. cd到/curl目录。

  4. 运行。./configure --with-darwinssl

我的用例是在Azure DevOps中的托管macOS构建代理上构建一个iOS应用。

user15883262 提问于2021-05-10
user15883262 修改于2022-01-21