How can I check if a server has ssl enable or not
You don't specify a programming language, but you could do this from the command-line.
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
There you go... Google does, StackOverflow does not.
"It's easier to ask forgiveness than permission"
For example, to read stackoverflow.com
via SSL, don't ask whether stackoverflow.com
supports it, just do it. In 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
>>>
It shows that stackoverflow.com
doesn't support SSL (2008).
Update: stackoverflow.com
supports https now.