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

最近在学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模块,请求跳过认证及禁用警告的全部内容~~欢迎大家讨论~~

  

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

时间: 2024-08-27 18:30:26

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

Python之request模块-基础用法

Request模块参考中文手册:https://requests.readthedocs.io/zh_CN/latest/ Request模块 1.查看pip已装包(模块)的安装信息(模块的路径.版本.模块说明) 语法:pip show 模块名 例子:pip show requests 2.发送请求 当然还有其他的请求方式,就不一一列举了.如:request.post.request.delete等等 # 发送GET请求,不携带参数 request.get("http://www.baidu.c

Python中request模块学习【深入浅出】

安装: pip install requests 使用: import requests HTTP请求:GET.POST.PUT.DELETE.HEAD.OPTIONS 1) get res = requests.get("https://github.com/timeline.json") 2) post res = requests.post("http://httpbin.org/post"); 3) put res = requests.put("

1、python爬虫 request.urlopen请求网页获取源码

# python3导入request包 from urllib import request import sys import io # 如果需要用print打印时,如果出现异常可以先设置输出环境 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') # 需要获取的url url = 'http://www.xxx.com/' # 头文件 headers = { "User-Agent": "M

Python Django 生命周期 中间键 csrf跨站请求伪造 auth认证模块 settings功能插拔式源码

一 django 生命周期 二 django中间键 1.什么是中间键 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功能. 简单来说就相当于django门户,保安:它本质上就是一个自定义类,类中定义了几个方法. 请求的时候需要先经过中间件才能到达django后端(urls,views,templates,models): 响应走的时候也需要经过中间件才能到达w

python网络入门:urllib.request模块和urllib.urllib.parse模块

************************************************* ** 转发请注明原文,尊重原创 ** 原文来自:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************* 1 urllib.parse模块 Urllib.parse模块在urllib package中 引入 >>> from urllib import parse Urllib.parse

python自动化测试学习笔记-6urllib模块&amp;request模块

python3的urllib 模块提供了获取页面的功能. urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) -         url:  需要打开的网址 -         data:Post提交的数据 -         timeout:设置网站的访问超时时间 直接用urllib.request模块的urlopen()获取页

python flask的request模块以及在flask编程中遇到的坑

一.首先来讲讲遇到的坑: 1.linux下package的打包引用: 1 """ 2 路径结构如下: 3 ./project 4 ./bin 5 ./api 6 """ 7 #要在bin目录下的main.py中引用api目录下的apilib.py中的内容 8 import sys 9 sys.path.append("../") 10 from api.apilib import func 2.运行大系统时候,你在/root下

python json requests request 模块

1.json 通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据. 之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深. 随着使用次数的增加,我对这个功能完善的模块有了更多的了解,记录如下. json.loads 将字符串装换成python基本数据类型 json.dumps 将python数据类型转换成字符串方式返回 json a = {:} (a,(a)) c = json.dumps(a) (

学习Python的urllib模块

 urllib 模块作为Python 3 处理 URL 的组件集合,如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块,这些现在都是 Python 3 的 urllib 包的一部分,具体如何来体现它们之间的关系 Python 3 的 urllib 模块是一堆可以处理 URL 的组件集合.如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块.这些现在