新手问题 怎么判断网站是 http 还是 https

eaonll · 2018年07月03日 · 最后由 franklinyu 回复于 2018年07月07日 · 2996 次阅读

我这边拿到ip 和端口, 由于不知道网站是否为 http 还是 https。。。我不是很愿意请求 2 次,不知道大家有什么好的办法。 或者我判断端口是否 443,8443 等。但是我又觉得不是很科学。

你想判断服务器有没有开 80 或者 443 端口,当然是遍历……

FrankFang 回复

不需要呀。我已经知道端口是开启的。我只是需要判断是否是 http,还是 https

把端口当成 SSL 端口尝试一下咯

require 'openssl'
s = TCPSocket.new 'baidu.com', 80
ss = OpenSSL::SSL::SSLSocket.new s, OpenSSL::SSL::SSLContext.new
ss.connect # 抛出 OpenSSL::SSL::SSLError
luikore 回复

好的。多谢了

什麼坑爹網站在 443 開 HTTP 的…… 還是說,直接使用了非常規端口?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册