python+requests实现from-data接口类型自动化

如何将from-data的接口类型自动化

1、先通过postman将from-data接口类型调通,在去看代码的实现过程

 从code中可以清晰的看到在代码请求的过程中有一个headers、data、files参数上传。一般from-data的接口类型区别在于多了一个files参数,需要抓包或手工调通之后看代码的实现过程中有哪些相关的参数。

2、代码通过files参数来实现:

 直接用files参数传入不需要更新from-data的头部信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def add_file(s, base_url):
    """上传文件"""
    url = base_url + "接口路径"
    payload = {
        "size": 15348,
        "file_name": "打卡.xlsx",
        "parent_type": "explorer",
        "parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh"
    }
    files = {
        "file": (
            "打卡.xlsx", open(file_path_1, "rb"), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    }
    r = s.post(url, files=files, data=payload)
    return r
 
if __name__ == '__main__':
    s = requests.Session()  -- 使用requests库里session会话功能,将token更新到头部,便于下个接口调用
    s.headers.update(headers)
    base_url = '域名'
    result = add_file(s, base_url)
    print(result.text)

 3、通过requests_toolbelt插件来进行编码处理

 用requests_toolbelt插件来实现需要传入from-data接口的头部信息,通过传参变量来更新content-type。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def add_file_1(s, base_url):                      
    """上传文件"""
    url = base_url + "接口路径"
    payload = MultipartEncoder(
        fields={
            "size": "15348",
            "file_name": "打卡.xlsx",
            "parent_type": "explorer",
            "parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh",
            "file": ("打卡.xlsx", open(file_path_1, "rb"),        
             "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
        }
    )
    r = s.post(url, data=payload, headers={"Content-Type": payload.content_type}) --更新from-data的content-type
    return rif __name__ == '__main__':<br>    s = requests.Session()   --使用requests库里面的session会话,将token更新到头部,便于下个接口的使用<br>    s.headers.update(headers)<br>    base_url = '域名'<br>    result = add_file_1(s, base_url)<br>    print(result.text)

如何将登录后的token取出更新到头部可以参考这篇博客。https://www.cnblogs.com/xdsa/p/15230735.html

 

posted @   夏大帅  阅读(848)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示