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"))
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!