• requests接口测试-post请求


    一,post请求

    1.1 post常用的提交方式:
    Post提交方式 描述 备注
    application/json JSON数据格式
    application/x-www-form-urlencoded form表单如果不设置enctype 属性,默认以application/x-www-form-urlencoded方式提交 key/value格式
    multipart/form-data 在表单中进行文件上传时,需要使用该格式,form表单中的enctype需要设置为multipart/form-data 需要安装第三方包requests-toolbelt
    1.2 requests.post()常用请求方式

    默认情况下,通过requests.post()进行POST请求时,参数有data和json两种方式。常见的form表单使用data参数提交报文,data参数可以是字符串,列表,字典或者文件对象。data参数为字符串时,如data=json.dumps(payload),headers中Content-Type默认为'text/html; charset=UTF-8',建议Content-Type设置为application/x-www-form-urlencoded。如果post请求体是json格式,可以直接传json参数,传json参数时会将请求中的Content-Type更改为application/json。

    二,data格式传参

    抓包

    登录聚合网站首页,按F12调出开发工具,输入账号和密码,点击登录,抓取登录接口的请求,查看请求URL地址和请求参数,如图:

    代码
    """
    接口名称:聚合数据网站登录接口
    目标:掌握post请求两种方式data和json
    接口URL:https://www.juhe.cn/login/login
    请求方法:post
    请求参数:username  password
    """
    import  requests
    
    #第一种表单格式Content-Type: application/x-www-form-urlencoded;
    url="https://www.juhe.cn/login/login"
    data={
    "username":182xxxxxxxx,
    "password": "xxxxxxx"
    }
    r=requests.post(url,data=data,verify=False)
    print(r.text)
    print(r.status_code)
    
    代码演示:

    三,json格式传参

    """
    接口名称:httpbin post接口
    目标:掌握post请求两种方式data和json
    接口URL:https://httpbin.org/post
    请求方法:post
    请求参数:username,password
    """
    import  requests
    #第二种json格式Content-Type: application/json;
    url="https://httpbin.org/post"
    payload={
    'username':'python',
    'password': 123456
    }
    #忽略警告信息
    requests.packages.urllib3.disable_warnings()
    #发送请求,json参数会自动将字典类型的对象转换为json格式
    r=requests.post(url,json=payload,verify=False)
    #打印正文信息
    print(r.text)
    #打印返回码
    print(r.status_code)
    #打印请求头
    print(r.headers)
    
    
    代码演示:

  • 相关阅读:
    博客园首页CSS模板
    style、currentStyle、getComputedStyle的区别和用法
    createDocumentFragment创建文档碎片节点
    setTimeout里如果有$(this),$(this)指的是谁?
    让ie也兼容placeholder
    eval()函数可以把一个字符串当作一个JavaScript表达式一样去执行它
    遮罩层特效(根据鼠标进入离开方向出现)
    jquery之attr和prop区别
    js封装类简单举例
    自动换行 word-break:break-all和word-wrap:break-word
  • 原文地址:https://www.cnblogs.com/temari/p/13501107.html
Copyright © 2020-2023  润新知