码迷,mamicode.com
首页 > 编程语言 > 详细

Python的Request模块,请求跳过认证及禁用警告

时间:2018-08-09 22:07:30      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:最新版   包含   site   3.1   验证   使用   ORC   请求   success   

最近在学python的爬虫,用到Requests模块。关于requests模块的优点,用过的人才知道!笔者用的python的版本时3.6.其他版本还未使用,请勿完全的对号入座,谢谢。

1、requests模块的官方文档:http://docs.python-requests.org/

2、python中requests模块的安装:pip install requests 

   ---->若不指定版本,则默认是安装的python官方已发布的2.19.1。requests版本问题,涉及到了这篇博客的主题。

  ----->指定版本的安装:pip install --upgrade --force-reinstall requests==2.6.0  

3、Requests 模块可以为 HTTPS 请求验证 SSL 证书,就像 web 浏览器一样。在不指定的情况下,SSL 验证默认是开启的。

  Python对于HTTPS请求中的证书的验证,并不会去系统的证书系统验证,而是使用它自己收录的证书库cacert.pem。

  如何查看cacert.pem

import requests.certs
print(requests.certs.where())
#输出 --> C:\ProgramData\Anaconda3\lib\site-packages\certifi\cacert.pem

  3.1 举例

import requests
url=https://inv-veri.chinatax.gov.cn/
#此网站是国家税务总局全国增值税发票查验平台 根证书是由税务电子证书管理中心颁发,并不包含在python的cacert.pem文件内
response=requests.get(url=url)
#抛出SSLError异常

技术分享图片

  3.2 解决办法

  请求的时候,加入verify参数。不写的时候,默认verify=True,将其改为verify=False,即可跳过SSL验证

requests.get(url=url,verify=False)
#跳过SSL验证,但会抛出警告

  技术分享图片

  虽然这个警告并不影响数据的抓取,但是对于强迫症患者来说,看着也是很烦人,想去掉这些警告。本文即是为了解决去掉这类警告

4、去掉警告

  4.1 去掉所有的警告,简单粗暴

import warnings
warnings.filterwarnings(ignore)
#缺点:去掉所有的警告

  4.2 去掉指定的警告,更有针对性

#(1)针对requests 2.5.0版本以下的,不包含2.5.0版本
from urllib3.exceptions import InsecureRequestWarning  
#在请求前加入以下代码:      requests.urllib3.disable_warnings(InsecureRequestWarning)
(2) 针对requests 2.5.0版本及以上的版本
from requests.packages.urllib3.exceptions import InsecureRequestWarning
#在请求前,加入以下代码     requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

  ---> 如何查看导入的requests模块的版本

import requests
print(requests.__version__)

  ---> python官方,requests目前最新版本是2.19.1,此版本的InsecureRequestWarning导入方式需要注意,选择方法1

  --->升级requests版本---在cmd内通过pip命令升级requests版本

    pip install --upgrade --force-reinstall requests==2.6.0 urllib3 <----指定requests的版本,同时更新urllib3的版本
    输出----> Successfully installed requests-2.6.0 urllib3-1.23,则升级成功,升级到2.5.0版本以后的,则需要通过方法二去除警告

以上,则是Python的Request模块,请求跳过认证及禁用警告的全部内容~~欢迎大家讨论~~

  

Python的Request模块,请求跳过认证及禁用警告

标签:最新版   包含   site   3.1   验证   使用   ORC   请求   success   

原文地址:https://www.cnblogs.com/tyro/p/9451860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!