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)  # 上传图片成功
  • 相关阅读:
    忘记秘密利用python模拟登录暴力破解秘密
    ubuntu16.04 install qtcreator
    ubuntu16.04 pip install scrapy 报错处理
    Ubuntu18.04 和ubuntu16.04 apt源更新
    Ubuntu16.04主题美化
    ubuntu16.04上vue环境搭建
    基于fastadmin快速搭建后台管理
    python生成linux命令行工具
    nvidia驱动自动更新版本后问题解决 -- failed to initialize nvml: driver/library version mismatch
    学会使用Google搜索
  • 原文地址:https://www.cnblogs.com/staff/p/14275561.html
Copyright © 2011-2022 走看看