zoukankan      html  css  js  c++  java
  • 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抓包内容如下:

     

     而正确的结果应该是:

     代码改正如下:

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

  • 相关阅读:
    vim 乱码问题的方法参考
    Node.js的原型继承函数 util.inherits
    UML类图画法及其之间的几种关系
    repo 小结
    Js_Eval方法
    Js_数组操作
    Js_字体滚动换颜色
    Js_图片轮播
    Jq_网站顶部定时折叠广告
    Js_网站右下角悬浮视窗可关闭广告
  • 原文地址:https://www.cnblogs.com/gufengchen/p/13957227.html
Copyright © 2011-2022 走看看