zoukankan      html  css  js  c++  java
  • requests上传文件的方法

    基本方式一:

    r = requests.post('http://httpbin.org/post', files={'file': open('report.xls', 'rb')})

    方式二(带其他参数):

    import requests
    import json
    
    session = requests.session()
    url = "http://cdht-sentinel.testing.bbdops.com/api/v1.0/auth/sso/login?t=669259"
    data = {
        "ip": "--",
        "location": "--",
        "password": "71b44033d3814ca82c7d079e046d6765",
        "systemState": 2,
        "username": "adminc"
    }
    headers = {
        "Connection": "keep-alive",
        "Content-Encoding": "gzip",
        "Content-Type": "application/json;charset=UTF-8"
    }
    # 登录,获取cookie
    response = session.post(url=url, data=json.dumps(data), headers=headers)
    ret = json.loads(response.text)
    print("登录成功?:", ret.get('success'))
    
    # 上传文件
    url_upload = "http://cdht-sentinel.testing.bbdops.com/api/v1.0/building/company/employees/import?t=640796"
    files = {'file': open('0', 'rb')}
    ret_upload = session.post(url_upload, data={'buildingId': 23}, files=files)
    print(ret_upload)
    print(ret_upload.text)
    print(ret_upload.content)

    方式三(不使用requests.session(),而采用原生方式):

    import requests
    
    # 原生方式登录,得到cookie
    response = requests.post(url="http://cdht-sentinel.testing.bbdops.com/api/v1.0/auth/sso/login?t=862637",
                             json={"ip": "182.150.28.190",
                                   "location": "四川省成都市",
                                   "password": "71b44033d3814ca82c7d079e046d6765",
                                   "systemState": 2,
                                   "username": "adminc"})
    cookies = response.cookies
    
    # 上传图片时带上cookie
    response = requests.post(url="http://cdht-sentinel.testing.bbdops.com/api/v1.0/building/file/upload?t=670869",
                             files={"file": open("1920_1080.jpg", "rb")},
                             cookies=cookies)
    
    print(response.text)  # 上传图片成功
  • 相关阅读:
    docker PXC MYSQL集群节点启动失败/节点顺序消失/只剩一个节点存在问题的解决
    springgateway
    rabbitMQ重复消费(结合死循环重发那一篇看)
    rabbitMq可靠性投递之手动ACK
    3表查询,1:多:多,根据1查多再查多
    tp后台注册登录配置项
    volist/foreach下,点击循环中的一个进行操作
    生成随机订单号
    省市县的下拉列表
    银行下拉列表
  • 原文地址:https://www.cnblogs.com/staff/p/14275561.html
Copyright © 2011-2022 走看看