• requests接口测试-https证书


    一,Https协议

    Https协议即超文本传输安全协议(Hypertext Transfer Protocol Secure,缩写:HTTPS)是一种网络安全传输协议。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,因此使用HTTP协议传输敏感信息非常不安全。HTTPS在HTTP的基础上用SSL/TLS来加密数据包,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。HTTP使用80端口,而HTTPS占用443端口。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。

    二,Https证书认证问题

    我们在进行接口测试的时候,发送https请求常常会报Https证书认证失败警告提示信息,如:
    requests.exceptions.SSLError: HTTPSConnectionPool(host='www.juhe.cn', port=443): Max retries exceeded with url: /login/login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)'))),如图:

    解决办法通常有两种,一种是发送https请求时忽略证书,证书的参数为Verify,默认为True,可以在代码中设置为False,忽略证书。这种方式也是比较常用的方法。另外一种就是在Verify中添加证书的路径。

    """
    接口名称:聚合数据网站登录接口
    目标:Https证书认证失败解决方案
    接口URL:https://www.juhe.cn/login/login
    请求方法:post
    请求参数:username,password
    """
    import  requests
    #URLd地址;
    url="https://www.juhe.cn/login/login"
    #data参数为字典
    data={
    "username":18xxxxxxxx,
    "password": "xxxxxxxx"
    }
    #第一种解决办法:发送请求时忽略证书,verify默认为为True,设置为False
    r=requests.post(url,data=data,verify=False)
    #第二解决办法:发送请求时忽略证书,verify默认为为True,设置为False
    r=requests.post(url,data=data,verify='证书路径')
    print(r.text)
    print(r.status_code)
    print(r.headers)
    
    
  • 相关阅读:
    刷题第一天各种蒙圈
    如何用MATLAB读stl并显示点云文件
    MATLA总结三
    word里如何将模板的样式(标题啊、字体啊)导入到另外的模板里
    Asp.Net跨平台:Ubuntu14.0+Mono+Jexus+Asp.Net
    Newtonsoft.Json输出Json时动态忽略属性
    Redis 系列 (一) StackExchange.Redis的使用
    jquery选择器如何获取父级元素、同级元素、子元素
    多线程的应用小结
    nginx1.18支持http2.0
  • 原文地址:https://www.cnblogs.com/temari/p/13507560.html
Copyright © 2020-2023  润新知