1、SSL是什么,为什么发送HTTPS请求时需要证书验证?

1.1 SSL:安全套接字层。是为了解决HTTP协议是明文,避免传输的数据被窃取,篡改,劫持等。

1.2 TSL:Transport Layer Security,传输层安全协议。TSL其实是SSL标准化后的产物,即SSL/TSL

实际上是一个东西。

1.3 HTTPS:HTTPS是兼容HTTP的,可以把HTTPS理解为'HTTP over TSL',即HTTPS是HTTP协议

和TSL协议的组合。

1.4 HTTPS在传输数据时,同样会先建立TCP连接,建立起TCP连接后,会建立TSL连接,这个过程可以

通过抓包查看:

1.5 SSL协议处于网络7层结构的哪一层?有的资料直接说明SSL协议处于传输层,

有的资料则说SSL协议处于传输层与应用层之间。

1.6 请求可以为HTTPS请求验证SSL证书,就像web浏览器一样,SSL验证默认是开启的,

如果证书验证失败,请求会抛出SSLError:

>>>import requests

>>>requests.get('https:xxxx.com')    #发起一个https请求

>>>requests.exceptions.SSLError: xxx

1.7 遇到请求的SSL验证,可以直接跳过不验证,将verify=False设置一下即可。

官方文档解释如下:

2、忽略警告

2.1 将验证设置忽略后,可以跳过SSL验证,但存在一个警告信息InsecureRequestWarning。

以下为忽略警告信息的方式:

总结:

1.HTTPS请求进行SSL验证或忽略SSL验证才能请求成功,忽略方式为verify=False。

2.SSL证书是由CA机构颁发的,所以安全也是要钱的

3.要完全理解HTTP协议,不能只到分辨HTTP的GET,POST等动作的程度,还要去理解7层

网络结构中每层使用的协议,以及数据传输的过程

requests发送HTTPS请求(处理SSL证书验证)的更多相关文章

  1. Python常见问题 - python3 使用requests发送HTTPS请求报certificate verify failed 错误

    当你使用 requests 发送HTTPS请求时 requests.get(url, parmas=parmas, headers=header, cookies=cookie) 出现了以下错误 HT ...

  2. iOS开发 支持https请求以及ssl证书配置(转)

    原文地址:http://blog.5ibc.net/p/100221.html 众所周知,苹果有言,从2017年开始,将屏蔽http的资源,强推https 楼主正好近日将http转为https,给还没 ...

  3. python2/3 发送https请求时,告警关闭方法

    问题: 使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误: InsecureRequestWarning: Unverifi ...

  4. Requests对HTTPS请求验证SSL证书

    SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主 ...

  5. HTTPS请求 SSL证书验证

    import urllib2 url = "https://www.12306.cn/mormhweb/" headers = {"User-Agent": & ...

  6. Web Server 使用WebClient 发送https请求 The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel

    使用WebClient 发送https请求 使用WebClient发送请求时,并且是以https协议: WebClient webClient = new WebClient(); string re ...

  7. 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL

    这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...

  8. linux 测试 get 请求 跳过SSL证书验证

    Linux 下测试 get 请求: curl : curl "http://www.qq.com" # 标准输出页面内容 curl -i "http://www.qq.c ...

  9. 各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总

    各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总 一份常见的 HTTPS 站点使用的证书和数据加密技术列表,便于需要时比较参考,将持续加入新的 HTTP 站点,这里给出的信 ...

随机推荐

  1. 测试工程师面试题之:给你印象最深的Bug

    有人看到别人在侵淫面试技巧,什么<程序员面试宝典>,或者<面试测试工程师须知>等等,就会嗤之以鼻.他会觉得这不是“投机取巧”吗,最重要的还是踏实提高自己的能力. 非常同意这种看 ...

  2. jsp报An error has occurred. See error log for more details. Argument not valid错误

    An error has occurred. See error log for more details. Argument not valid 翻译过来是:一个错误已经发生.看到更多的细节错误日志 ...

  3. Java网络编程Socket通信

        TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议     UDP (User Datagram Proto ...

  4. Asterisk func group

    Synopsis Gets, sets or clears the channel group. Each channel can only be member of exactly one grou ...

  5. python 基础之第十三天(xineted服务器,forking,多线程)

  6. 「LuoguP1379」 八数码难题(迭代加深

    [P1379]八数码难题 - 洛谷 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种 ...

  7. codevs 1143 纪念品分组

    1143 纪念品分组 2007年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description ...

  8. RAutomation 在 Watir中的使用

    RAutomation的用法 require "rautomation" # 通过匹配部分标题来获取窗口 window = RAutomation::Window.new(:tit ...

  9. mongodb replica set 配置高性能多服务器详解

    mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置.master-slave模式,不能自动实现故障转移和恢复.所以推荐大家使用mon ...

  10. 关于yolo 模型中1X1卷积层的作用

    1X1卷积层的作用: 1.实现跨通道的交互和信息整合.2.进行卷积核通道数的降维和升维.3.就是可以在保持feature map 尺寸不变(即不损失分辨率)的前提下大幅增加非线性特性,把网络做得很de ...