SSL-校验网站证书详解

**

一、什么是SSL证书?如何检查网站是否部署了SSL证书?

**
如果你能使用 https:// 来访问某个网站,就表示此网站是部署了 SSL 证书。一般来讲,
如果此网站部署了 SSL 证书,则在需要加密的页面会自动从 http:// 变为 https:// ,如果没
有变,你认为此页面应该加密,你也可以尝试直接手动在浏览器地址栏的 http 后面加上一
个英文字母“ s ”后回车,如果能正常访问并出现安全锁,则表明此网站实际上是部署了 SSL
证书,只是此页面没有做 https:// 链接;如果不能访问,则表明此网站没有部署 SSL 证书。
在这里插入图片描述
请注意:有些部署了 SSL 证书的网站会有不安全因素警告 ( 如下图所示 ) ,表明此
页面中含有指向其他没有部署 SSL 证书的页面,为了安全起见,建议您选择“否”,浏览器
就不显示不安全的内容,这些内容一般都是 Flash 动画或 Java Script ,如果选择“是”,则
浏览器不会显示安全锁标志。
在这里插入图片描述
什么是 SSL 证书? SSL 证书就是遵守 SSL 安全套接层协议的服务器数字证书。而
SSL 安全协议最初是由美国网景 Netscape Communication 公司设计开发的,全称为:安全
套接层协议 (Secure Sockets Layer) , 它指定了在应用程序协议 ( 如 HTTP 、 Telnet 、
FTP) 和 TCP/IP 之间提供数据安全性分层的机制,它是在传输通信协议 (TCP/IP) 上实现
的一种安全协议,采用公开密钥技术,它为 TCP/IP 连接提供数据加密、服务器认证、消息
完整性以及可选的客户机认证。由于此协议很好地解决了互联网明文传输的不安全问题,很
快得到了业界的支持,并已经成为国际标准。
SSL 证书由浏览器中“受信任的根证书颁发机构”在验证服务器身份后颁发,具有网站
身份验证和加密传输双重功能。
请注意:如果 SSL 证书不是由浏览器中“受信任的根证书颁发机构”颁发的,则浏览器
会有安全警告,如图 2 所示为 IE7 浏览器的警告信息为“此网站出具的安全证书不是受信
任的证书颁发机构颁发的,安全证书问题可能显示试图欺骗您或截获您向服务器发送的数
据,建议关闭此网页,并且不要继续浏览该网站。
**

二、处理 HTTPS 请求 SSL 证书验证

**
现在随处可见 https 开头的网站,urllib2 可以为 HTTPS 请求验证 SSL 证书,就像 web
浏 览 器 一 样 , 如 果 网 站 的 SSL 证 书 是 经 过 CA 认 证 的 , 则 能 够 正 常 访 问 , 如 :
https://www.baidu.com/等… 如果 SSL 证书验证不通过,或者操作系统不信任服务器的安全证书。
在这里插入图片描述
出现这种情况时,就会影响我们爬取网站数据,怎么办呢,这时候就就要单独处理SSL证书,让程序忽略
SSL证书验证错误,即可正常访问。
编写程序:
(1)如果你用的是urllib库,你该这么写,网址就根据你自己的需求了

from urllib import request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

response = request.urlopen("https://www.10086.com")
print(response.read().decode("utf-8"))

(2)如果你用的是requests模块,那么就简单多了,你只需在请求时加个参数即可
verify=False

response= requests.get(url=url,headers=henaders,encoding="utf-8",verify=False)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值