我试图通过各种库和命令行工具获取以下 URL,但遇到了 SSL 握手错误。
> curl https://www.joelosteen.com/Views/RSS/Feed?t=PodcastVideo&ct=CustomList&cst=Podcasts
curl: (35) error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error
我看过 here它可以通过减少可能的密码来修复,但尝试 this less strict call使用受限密码无法解决问题。
curl -vlkL "https://www.joelosteen.com/Views/RSS/Feed?t=PodcastVideo&ct=CustomList&cst=Podcasts" --ciphers DHE-RSA-AES256-SHA
有什么办法可以解决这个问题吗?这是一个共享帐户,即没有可用的根。
最佳答案
服务器仅支持 TLS 1.2 版,即不支持 TLS 1.0 甚至 SSL 3.0。我的猜测是您使用的 curl 太旧而无法使用 TLS 1.2,但是如果没有关于您使用的版本的更多详细信息,则无法验证此猜测。
要确定 curl 的版本,请使用 curl --version
。如果您看到它是用 OpenSSL 编译的,那么它应该至少显示 1.0.1 版的 OpenSSL 以支持 TLS 1.2。
curl -vlkL ... --ciphers DHE-RSA-AES256-SHA
这不是服务器支持的密码。支持的密码之一是 AES128-SHA,但同样,如果您的 curl 不支持 TLS 1.2,则没有机会。
关于http - 如何获取此网址?获取 SSL 握手错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32360487/