• requests通过接口上传文件


    如何利用requests上传文件的操作:

    测试接口如图:

    抓包发现post请求需要传递参数如下:

    代码实现如下:需要带上cookies信息,files需要传递文件名称,传递文件的路径以二进制方式传递,文件的格式。

    import requests
    
    url = "http://admin.cdnzutuan.cn/api/a/upload/uploadappbanner"
    files = {
        "file":("蓝天白云.jpg",open(r"D:ico图标文件蓝天白云.jpg","rb"),"image/jpeg")
    }
    cookies = {"Cookie": "Cookie: UM_distinctid=170258c85f45d-0918e82b1498a7-2393f61-151800-170258c85f613d; _qddaz=QD.sv7ymv.3dl2m6.k6dsillj; _admin=dHlskxdaUR2vKQZm8rZlQKcuE6KQ6pvXIj6b12d%2BApdNICp5qCFgwkaD93/AjJURkNs7F3yRRzRJUgnBchAh6IeukZrUilucspVI3h7mSY0SNAHZq0TauFDiWbvX6BXPpuePV6nyL%2BnDpFebbHtCEisarA%2B3UpQ8/EP3qxCgSzj95/YRW45zimakG1DpQK3Whi1VmQUlZfHW9BEDd6so9HviWGFDG1A4rIcTse6hrS8%2BcNoIZgZcz7PJUHyyGOJ6j33mKyP0qNIGSPZqfcbaGCh/KUR%2BrPhf8udtg2/6w8nfm38qJ8kDR%2BXCQPA1cm5O; _admin_nick=superadmin"}
    res = requests.post(url=url,cookies=cookies,files=files)
    print(res.status_code)
    print(res.text)

    浏览器抓包返回信息如下:

    requests接口返回信息如下:

    因cookie有效期的问题,封装了一个登录后拿到cookie,再去请求上传文件的接口的方法:

    import requests
    
    
    class File_Upload():
        def __init__(self):
            '''登录操作'''
            self.url = "http://admin.cdnzutuan.cn/api/a/adminuser/login"
            self.json = {
                "LoginName": "superadmin",
                "LoginPwd": "mg123456"
            }
            self.headers = {
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}
            self.res = requests.post(self.url, self.json, self.headers)
    
        def uploadFile(self):
            '''上传文件'''
            self.url = "http://admin.cdnzutuan.cn/api/a/upload/uploadappbanner"
            self.files = {
                "file": ("蓝天白云.jpg", open(r"D:ico图标文件蓝天白云.jpg", "rb"), "image/jpeg")
            }
            res = requests.post(url=self.url, cookies=self.res.cookies, files=self.files)
            print(res.status_code)
            print(res.text)
    
    
    if __name__ == '__main__':
        fu = File_Upload()
        fu.uploadFile()
  • 相关阅读:
    移动端适配方案
    js基础知识复习
    js单线程的本质-------Event Loop
    第13课 字典
    第12课 习题讲解
    第11课 循环嵌套和算法
    第10课 文件的读写
    第9课 循环语句与注释
    第8课 对象的方法
    第7课 初识函数
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/12285941.html
Copyright © 2020-2023  润新知