Python+Requests模块session处理和SSL证书处理&关闭警告

session处理

部分接口需要先登录网址,才能有权限进行调用,这时可以使用到session,具体操作是:先使用网站 的登录api进行登录,得到session后,然后用该session来请求其它的接口。

示例代码:

session_obj = requests.session()  # 用来保持会话连接,后面的请求都用session对象来发送

import requests,re
# 2、完成phpwind论坛接口
# 1.打开论坛
# 创建session对象
session_obj = requests.session()  # 用来保持会话连接,后面的请求都用session对象来发送
host = "http://47.107.178.45/"
response = session_obj.get(url=host+"phpwind/")
body = response.content.decode("utf-8")
token = re.findall('csrf_token" value="(.+?)"/>',body)[0]
print(token)

证书处理(SSL Cert Verification)

很多网站都是https,但是不用证书也可以访问,大多数情况都是可以携带也可以不携带证书如知乎\百度 等都是可带可不带但有硬性要求的,则必须带,比如对于定向的用户,拿到证书后才有权限访问某个特定网站。

关闭警告

import requests,warnings
from requests.packages import urllib3
# 关闭警告
urllib3.disable_warnings()
warnings.filterwarnings("ignore")

解决证书问题

一、关闭证书

代码示例:

# 1,关闭证书
res = requests.get(url="https://www.12306.cn",verify=False)  #不验证证书,报警告,返回200
print(res.content.decode("utf-8"))

二、安装pyopenssl模块 可以验证证书,但可以在请求中不用 verify=False

代码示例:

# 2,安装pyopenssl模块 可以验证证书,可以在请求中不用 verify=False
res = requests.get(url="https://www.12306.cn")
print(res.content.decode("utf-8"))

三、加上证书(找公司开发人员要 .crt文件   推荐)

代码示例:

# 3,加上证书,找公司开发人员要 .crt文件   推荐
res = requests.get(url="https://www.12306.cn",cert=("/路径/证书.crt","/路径/key"))

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

你可能感兴趣的:(软件测试,ssl,服务器,网络协议,功能测试,软件测试,自动化测试,程序人生)