如何检查服务器是否启用了ssl

Bru*_*sta 12 ssl

你是否有人知道,如果是这样,我如何用我的应用程序代码检查服务器是否启用了ssl?

jfs*_*jfs 9

"请求宽恕比允许更容易"

例如,要stackoverflow.com通过SSL 读取,请不要询问是否stackoverflow.com支持它,只需执行此操作即可.在Python中:

>>> import urllib2
>>> urllib2.urlopen('https://stackoverflow.com')
Traceback (most recent call last):
...
urllib2.URLError: <urlopen error (10060, 'Operation timed out')>
>>> html = urllib2.urlopen('http://stackoverflow.com').read()
>>> len(html)
146271
>>> 
Run Code Online (Sandbox Code Playgroud)

它表明stackoverflow.com不支持SSL(2008).


更新:立即 stackoverflow.com支持https.


Yan*_*oto 7

11年后...

我最终来到这里,因为我有同样的问题(在终端内)。

我想最简单的解决方案是s_client使用openssl

openssl s_client -quiet -connect google.com:443
Run Code Online (Sandbox Code Playgroud)

如果这返回退出状态0(使用 检查echo "$?"),则主机在给定端口上支持 SSL/TLS(此处443)。


Joh*_*web 5

您没有指定编程语言,但可以从命令行执行此操作.

bash-3.2$ echo ^D | telnet www.google.com https
Trying 66.102.11.104...
Connected to www.l.google.com.
Escape character is '^]'.
Connection closed by foreign host.
bash-3.2$ echo ^D | telnet www.stackoverflow.com https
Trying 69.59.196.211...
telnet: connect to address 69.59.196.211: Connection refused
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)

你去...谷歌,StackOverflow没有.