• requests接口测试-headers


    一,客户端请求信息

    客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

    请求头,这个参数不是每个接口都必须要添加,开发可以自定义。有的网站为了防抓取,服务器会判断是否是由浏览器发出的请求。有时候我们使用接口测试工具发送http请求,网页被拒绝,可能是缺少headers。因此我们在发送请求时,可以设置请求头headers,伪装成浏览器。

    二,添加headers请求头

    有些网站不校验headers,我们在编写接口测试脚本时,HTTP请求可以不添加headers,有些网站就会校验headers,没有就拒绝请求。具体是否要添加headers,建议咨询开发人员headers是否必须。下面以超级鹰官网登录接口添加headers为例。

    2.1 打开chrome浏览器,访问超级鹰官网,F12调出开发者工具窗口,输入登录信息,点击【登录】,如图:

    2.2 开发者工具窗口点击【NetWork】,选中对应请求记录,查看请求信息,如图:

    复制请求报文request-headers的User-Agent。

    2.3 编写代码,Http请求添加headers,headers其他字段可加可不加,但User-Agent字段一定要添加,代码如图:

    """
    接口名称:超级鹰网站登录接口
    目标:添加headers
    接口URL: http://www.chaojiying.com/user/login/
    请求方法:post
    请求参数:user,pass,act
    """
    import  requests
    #URL地址
    url="http://www.chaojiying.com/user/login/"
    #data参数为字典,user为用户名,pass为密码
    data={
         'user':'xxxxx',
         'pass': xxxxx,
         'act':1
    }
    #添加headers
    headers={
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'
    }
    #忽略警告信息
    requests.packages.urllib3.disable_warnings()
    #发送请求,data参数
    r=requests.post(url,data=data,headers=headers,verify=False)
    print(r.text)
    print(r.status_code)
    print(r.headers)
    
    代码演示:

  • 相关阅读:
    如何编写优雅的代码:05. 设计模式(下)
    ArcGIS之Cartogram地图变形记
    GIS规划应用——基于哈夫模型的GIS服务区分析
    基于GIS的旅游辐射区人口统计
    图斑整理之字段计算器使用技巧
    ArcGIS制作放射状流向地图(Radial Flow Map)
    SQL Server时间粒度系列
    (原)SQL Server 代理作业执行持续时间简述
    (原)SQL Server 系统提供功能的三个疑惑
    sql server实现自定义分割月功能
  • 原文地址:https://www.cnblogs.com/temari/p/13503379.html
Copyright © 2020-2023  润新知