• python上传gz文件请求


    前言:

    最近在测试一个文件上传的接口功能,初始设计如下:

    # coding=utf8
    
    import requests
    from uuid import uuid4
    import os
    import sys
    import urllib
    from requests_toolbelt import MultipartEncoder
    
    
    
    url="https://192.168.26.24/system.m?a=rpc-data-import"
    cookie = {"WAFFSSID":"v2flm3bj8ait2ef2cescrmgl93"}
    header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'}
    
    file_name = "F:/waf/webApi/file/waf_alarms_export.gz"
    # 获取文件后缀名
    suffix = file_name.split(".")[1]
    # 获取文件名称
    name = os.path.basename(file_name)
    print(name)
    # 获取boundary
    boundary_vale = uuid4().hex
    
    boundary = "-----------------------------{0}".format(boundary_vale)
    file_tup = (name, open(file_name, 'rb'), 'application/zip')
    m = MultipartEncoder(
                fields={'name': name, 'zipfile': file_tup}
            )
    
    header["Content-Type"] = m.content_type
    requests.packages.urllib3.disable_warnings()
    response = requests.post(url=url,headers=header,cookies=cookie,data=m,verify=False)
    
    print(response.text)
    
    with open("index.html","w") as f:
        f.write(response.text)

    运行该脚本,通过filder抓包内容如下:

     

     而正确的结果应该是:

     代码改正如下:

     在此运行成功上传文件请求。

  • 相关阅读:
    struts2 标签的使用之二 s:iterator
    struts2 标签的使用之一 s:if
    java Tomcat数据库连接池
    JNDI:对java:comp/env的研究
    ***Tomcat7.0安装配置
    ***tomcat配置文件server.xml详解
    宜昌IT软件资源汇总
    tomcat安全设置
    tomcat部署javaweb项目的三种方式
    Tomcat在Linux上的安装与配置
  • 原文地址:https://www.cnblogs.com/gufengchen/p/13957227.html
Copyright © 2020-2023  润新知