python https协议和InsecurePlatformWarning问题
本人最近在学习python,今天想使用python来抓取糗事百科网站上的一些笑话故事的,由于糗事百科的网站url采取的是https协议,所以当我按照常规的方式抓取的时候,发现不行,报错了,找了很多方法都不好使,这对于一个初学者来说真是很捉鸡的一件事情,最后google了好久,终于找到了解决的办法,接下来一起看一下
一、针对https协议的网站需要验证证书
错误信息:'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)' ,这句话的意思就是证书验证失败了
解决方法:在requests的请求方法中添加参数 verify=False ;例如:requests.get('https://www.qiushibaike.com/hot/page/1/',verify=False),
二、InsecurePlatformWarning 问题
在经过第一步添加了参数之后,可以请求到了网站的信息了,但是会出现两个warning级别的错误:
![](/assets/blank.gif)
G:\Python27\lib\site-packages\urllib3\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warningsInsecureRequestWarning) G:\Python27\lib\site-packages\urllib3\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warningsInsecureRequestWarning)
![](/assets/blank.gif)
上边的警告提示大义是:未经验证的HTTPS请求正在进行。 强烈建议添加证书验证。 请参阅:https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
虽然这个warning提示不会影响程序的运行,但是对于有强迫症的人来说还是很不舒服的(本人有严重的强迫症),所以有没有什么办法不显示(去掉这些warning级别的错误呢?)??
解决方法:可以通过 disable_warnings 方法关闭 warning,只需要在代码中添加这一句即可,requests.packages.urllib3.disable_warnings()
下边是简单的获取糗事百科第一页的数据的代码:
![](/assets/blank.gif)
#!/usr/bin/env python #coding=utf-8import requestspage = 1 url = 'https://www.qiushibaike.com/hot/page/' + str(page) try:# 避免warning级别的警告(不显示)requests.packages.urllib3.disable_warnings()# 使用requests库请求的response = requests.get(url, verify=False)print response.text except urllib2.URLError, e:if hasattr(e,"code"):print e.codeif hasattr(e,"reason"):print e.reason
![](/assets/blank.gif)
转载于:https://www.cnblogs.com/liuchunxiao83/p/9946054.html
python https协议和InsecurePlatformWarning问题相关推荐
- doraemon的python tcp协议和udp协议
### 8.9 tcp协议和udp协议#### 8.9.1 tcp协议 -------打电话 特点:- 可靠 慢 全双工通信 - 建立连接的时候:三次握手 - 断开连接的时候:四次挥手 - ...
- https协议和Http协议的区别
什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息 ...
- https协议和Htt协议
总结:kevin. 引用: 互联网相关知识文档 时间:2008-07-14 HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安 ...
- http协议和https协议对应的端口号
http协议和https协议对应的端口号为: http: 80/8080: https:443.
- 《JavaEE初阶》HTTP协议和HTTPS
<JavaEE初阶>HTTP协议和HTTPS 文章目录 <JavaEE初阶>HTTP协议和HTTPS HTTP协议是应用层协议: 使用Fiddler抓取HTTP请求和响应: F ...
- 什么是HTTP协议和HTTPS协议,以及两者的区别
HTTP协议 超文本传输协议(Hyper Text Transfer Protocol),是一个简单的请求-响应协议,它通常运行在TCP之上.它指定了客户端可能发送给服务器什么样的消息以及得到什么样的 ...
- http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...
- 1.前端计网篇之HTTP协议和HTTPS协议
目录 1.HTTP协议 1)GET和POST请求的区别 2)POST和PUT请求的区别 3)常见的HTTP请求头和响应头 (1)HTTP Request Header常见的请求头: (2)HTTP R ...
- HTTP协议和HTTPS协议的区别
HTTP协议和HTTPS协议的区别 1.HTTP协议传输的数据都是未加密的,也就是明文的,使用HTTP协议传输隐私信息不安全: 2.HTTPS协议是由SSL(安全套接层,为网络通信提供安全及数据完整性 ...
最新文章
- 爬虫原理与数据抓取----- urllib2:URLError与HTTPError
- 程序编译是出现“field has incomplete type“问题的解决
- jquery方法animate操作图片移动
- Apache中Virtual Host虚拟主机配置及rewrite参数说明
- 网络基础知识及计算机基础,OSI7层
- 多线程“基础篇”11之 生产消费者问题
- ThreadPoolExecutor解析
- 关于java.lang.NoClassDefFoundError的问题
- 前端诸神大战,Vue、React 依旧笑傲江湖
- VB的KeyAscii
- oracle odbc驱动 linux,linux下oracle的odbc驱动的安装与配置
- 【PAT乙】1038 统计同成绩学生 (20分) 裸桶排序
- 2021-01-11
- python如何求偏导_求偏导数怎样做啊
- SpringBoot GA/PRE/SNAPSHOT含义
- 任正非解释华为鸿蒙系统,比Android/iOS还要快,看任正非怎么说华为鸿蒙系统
- 水香木鱼书写PPT总结
- 《大江大河2》里这段精彩的博弈:没有对错,只有权衡
- 系统错误null是什么意思_为什么NULL是错误的?
- Revit二次开发环境平台的搭建
热门文章
- 【CCF】201609-2火车购票
- Team Foundation Server 2010 安装、部署与配置(七):创建 Team Project 时的一个 Issue:TF218027 .
- 标准C/C++程序通过gSOAP调用WebService
- nvm install node没反应_前端开发,你要懂得Node.js的安装和使用方法
- 数值分析-泰勒公式及泰勒级数
- gstreamer读取USB摄像头H264帧并用rtmp推流
- CSU 1115 最短的名字
- 微信小程序 - 基本学习资源
- QT 003 stack widget 层叠菜单的使用 - 6-04正在编辑中
- java之歌_程序员之歌