美文网首页
接口自动化13——HTTP请求之session会话保持

接口自动化13——HTTP请求之session会话保持

作者: 远航天下 | 来源:发表于2018-07-18 17:43 被阅读0次
代码如下:
authon = 'damao'

import urllib3
import requests

"""
遇到的坑:访问https总报‘Unverified HTTPS request is being made. Adding certificate verification is strongly advised’
问题原因:requests 库其实是基于 urllib 编写的,对 urllib 进行了封装,使得使用时候的体验好了很多,现在 urllib 已经出到了3版本,功能和性能自然是提升了不少。
        所以,requests最新版本也是基于最新的 urllib3 进行封装。
        在urllib2时代对https的处理非常简单,只需要在请求的时候加上 verify=False 即可,这个参数的意思是忽略https安全证书的验证,也就是不验证证书的可靠性,直接请求,
        这其实是不安全的,因为证书可以伪造,不验证的话就不能保证数据的真实性。
        在urllib3时代,官方强制验证https的安全证书,如果没有通过是不能通过请求的,虽然添加忽略验证的参数,但是依然会 给出醒目的 Warning,这一点没毛病
解决办法:添加2行代码——
            import urllib3
            urllib3.disable_warnings()
"""
# help(requests.session())

url = "https://passport.cnblogs.com/user/signin"

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134",
            "Content-Type": "application/json; charset=utf-8",
            "X-Requested-With": "XMLHttpRequest",
            "Cookie": "AspxAutoDetectCookieSupport=1; SERVERID=34e1ee01aa40e94e2474dffd938824db|1531900633|1531899655; ASP.NET_SessionId=fzmmaqasqhqdt1hnc4estmbm; _ga=GA1.2.1009201770.1531900384; _gid=GA1.2.259881566.1531900384"}
#  登录的参数
payload = {"input1": "MgqyV/3C0vgjeGgY1orUUe1NMMiocJ6ur57G/61q3rFHxiIl2AcMyg1zgk6526iqBaYpvmbASViKrzPOPVJecnXfoKWp09h13wG/wg1+CdEqGQyZYo1DPSbU+BrOBItViJ+IrO1a/y33RbBvxRVDti9TPxgj+47bb1H40OxAfy4=",
           "input2": "m5wFqUNOYrKT+mIpLGHt00IBBnFkOTGm+TG0lCl5Sc8L/bcn61EZuVN3EFnEDBak4HdDtnhOHjCMBV5aVTP+VTqZY7xSOY8gulirGacYnQLMLnCqMsYQJL4hzrzceFHzBLnT08gRk/oU3PG6Y3mya/Q6bWznNQ+r3pmS9M9X6yg=",
           "remember": True}

# 发送登录请求
urllib3.disable_warnings()    #解决https报错的问题
s = requests.session()
r = s.post(url=url, json=payload, headers=headers,verify=False)
print(r.json())

相关文章

网友评论

      本文标题:接口自动化13——HTTP请求之session会话保持

      本文链接:https://www.haomeiwen.com/subject/kekapftx.html