zoukankan      html  css  js  c++  java
  • 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)
    
    
  • 相关阅读:
    大数据和云计算
    关于移动开发的一些讨论(在有些场合,移动就是噱头,胡乱鼓吹是不负责任的)
    软件开发设计中的两个误区
    【转】从底层了解ASP.NET体系结构
    DotNet命名规范参考(转)
    PAD会取代PC吗
    转:关于http server
    AOP 面向方面的编程 Aspect Oriented Programing --第一次听说呢,汗!
    关于字符集(讲的比较清楚的一片字符集科普文章)
    .NET vs JAVA
  • 原文地址:https://www.cnblogs.com/temari/p/13507560.html
Copyright © 2011-2022 走看看