提交这种用boundary分隔的表单数据时,有两种方法,一种是以传入files参数,另一种是传入data参数,data参数需要自己用boundary来分隔为指定的形式,而files参数则以元组的形式传入,代码如下

files = {
'TOKENKEY': (None, str(nowtime)), # 当前时间戳
'wbuploadpath': (None, ""),
'owner': (None, ""),
'token': (None, token),
'params': (None, 'eyJjb252ZXJ0cGFyYW1zIjpbeyJjb252ZXJ0VHlwZSI6ImltYWdldG90aHVtYiIsInBhcmFtcyI6eyJpbWdhdXRvcmVzaXplIjoidHJ1ZSIsImltZ2F1dG9yZXNpemV3aWR0aCI6IjEwMjQiLCJpbWdhdXRvcmVzaXplaGVpZ2h0IjoiMTAwMDAiLCJsaW1pdHdpZHRoIjoiMTYyMCIsImxpbWl0aGVpZ2h0IjoiMTAwMDAiLCJpbWd0aHVtYndpZHRoIjoiNjQwIiwiaW1ndGh1bWJoZWlnaHQiOiIxMDAwMDAiLCJsaW1pdGZpbGVzaXplIjoiMTA0ODU3NiJ9fSx7ImNvbnZlcnRUeXBlIjoiaW1hZ2V0b3JlZHVjZXF1YWxpdHkiLCJwYXJhbXMiOnsiaW1nYXV0b3Jlc2l6ZSI6InRydWUiLCJpbWdhdXRvcmVzaXpld2lkdGgiOiIxMDI0IiwiaW1nYXV0b3Jlc2l6ZWhlaWdodCI6IjEwMDAwIiwibGltaXR3aWR0aCI6IjE2MjAiLCJsaW1pdGhlaWdodCI6IjEwMDAwIiwiaW1ndGh1bWJ3aWR0aCI6IjY0MCIsImltZ3RodW1iaGVpZ2h0IjoiMTAwMDAwIiwibGltaXRmaWxlc2l6ZSI6IjEwNDg1NzYifX1dLCJhbGxvd2V4dHMiOiJqcGcsanBlZyxnaWYscG5nLGJtcCxnaWYscG5nLGRvYyxkb2N4LHBwdCxwcHR4LGV4Y2VsLHhscyx4bHN4LGJtcCxqcGcsanBlZyx6aXAscmFyIiwidXB0b2tlbiI6IjgxNjAzOTRCREE4NjRDRDZCRDlBRUUwNTY0OEUwRkNGIiwibm9kZWNvZGUiOiJsb2NhbCJ9' ),
'uploadfilejson': (None, ""),
'watermark': (None, ""),
'waterlocal': (None, ""),
'waterfilename': (None, ""),
'waterurl': (None, ""),
'classselect': (None, ''),
'wbtitle': (None, wbtitle),
'image': (None, "", 'application/octet-stream'),
'wbcontent': (None, wbcontent),
'yanzheng': (None, str(yanzheng))
}
data = """
------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="TOKENKEY" {}
------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="wbuploadpath" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="owner" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="token" {}
------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="params" eyJjb252ZXJ0cGFyYW1zIjpbeyJjb252ZXJ0VHlwZSI6ImltYWdldG90aHVtYiIsInBhcmFtcyI6eyJpbWdhdXRvcmVzaXplIjoidHJ1ZSIsImltZ2F1dG9yZXNpemV3aWR0aCI6IjEwMjQiLCJpbWdhdXRvcmVzaXplaGVpZ2h0IjoiMTAwMDAiLCJsaW1pdHdpZHRoIjoiMTYyMCIsImxpbWl0aGVpZ2h0IjoiMTAwMDAiLCJpbWd0aHVtYndpZHRoIjoiNjQwIiwiaW1ndGh1bWJoZWlnaHQiOiIxMDAwMDAiLCJsaW1pdGZpbGVzaXplIjoiMTA0ODU3NiJ9fSx7ImNvbnZlcnRUeXBlIjoiaW1hZ2V0b3JlZHVjZXF1YWxpdHkiLCJwYXJhbXMiOnsiaW1nYXV0b3Jlc2l6ZSI6InRydWUiLCJpbWdhdXRvcmVzaXpld2lkdGgiOiIxMDI0IiwiaW1nYXV0b3Jlc2l6ZWhlaWdodCI6IjEwMDAwIiwibGltaXR3aWR0aCI6IjE2MjAiLCJsaW1pdGhlaWdodCI6IjEwMDAwIiwiaW1ndGh1bWJ3aWR0aCI6IjY0MCIsImltZ3RodW1iaGVpZ2h0IjoiMTAwMDAwIiwibGltaXRmaWxlc2l6ZSI6IjEwNDg1NzYifX1dLCJhbGxvd2V4dHMiOiJqcGcsanBlZyxnaWYscG5nLGJtcCxnaWYscG5nLGRvYyxkb2N4LHBwdCxwcHR4LGV4Y2VsLHhscyx4bHN4LGJtcCxqcGcsanBlZyx6aXAscmFyIiwidXB0b2tlbiI6IjRBMDVGQzUwMjQzQzRGNkY4NTQ1QjQ4QjhGOTNCQzg5Iiwibm9kZWNvZGUiOiJsb2NhbCJ9
------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="uploadfilejson" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="watermark" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="waterlocal" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="waterfilename" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="waterurl" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="classselect" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="wbtitle" {}
------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="image"; filename=""
Content-Type: application/octet-stream ------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="wbcontent" {}
------WebKitFormBoundaryYuBOtqhxWuNB9YP2
Content-Disposition: form-data; name="yanzheng" {}
------WebKitFormBoundaryYuBOtqhxWuNB9YP2-- """.format(str(nowtime), token, wbtitle, wbcontent, yanzheng).encode('UTF-8')
    #response = requests.post(url, headers=headers, data=data)
response = requests.post(url, headers=headers, files=files)

requests的post提交form-data; boundary=????的更多相关文章

  1. Sending forms through JavaScript[form提交 form data]

    https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_forms_through_JavaScript As in the ...

  2. AngularJS $http配置为form data 提交

    AngularJS $http配置为form data 提交 $scope.formData = {}; $http({ method: 'POST', url: '/user/', // pass ...

  3. 表单提交数据格式form data

    前言: 最近遇到的最多的问题就是表单提交数据格式问题了. 常见的三种表单提交数据格式,分别举例说明:(项目是vue的框架) 1.application/x-www-form-urlencoded 提交 ...

  4. [整理]Ajax Post请求下的Form Data和Request Payload

    Ajax Post请求下的Form Data和Request Payload 通常情况下,我们通过Post提交表单,以键值对的形式存储在请求体中.此时的reqeuest headers会有Conten ...

  5. http 请求参数之Query String Parameters、Form Data、Request Payload

    Query String Parameters 当发起一次GET请求时,参数会以url string的形式进行传递.即?后的字符串则为其请求参数,并以&作为分隔符. 如下http请求报文头: ...

  6. ajax提交form表单

    1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...

  7. form data和request payload的区别

    HTML <form> 标签的 enctype 属性 在下面的例子中,表单数据会在未编码的情况下进行发送: <form action="form_action.asp&qu ...

  8. Jquery通过Ajax方式来提交Form表单

    今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...

  9. ajax提交form表单资料详细汇总

    一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味 ...

随机推荐

  1. 【转】python get-pip.py could not find a version that satisfies

    转:https://blog.csdn.net/yanlisuo/article/details/81357305 转:https://blog.csdn.net/dyrlovewc/article/ ...

  2. 侠说java8--Stream流操作学习笔记,都在这里了

    前言 首次接触到Stream的时候以为它是和InputStream.OutputStream这样的输入输出流的统称. 流和集合的前世今生 概念的差异 在开发中,我们使用最多的类库之一就是集合.集合是一 ...

  3. 小白学 Python 爬虫(38):爬虫框架 Scrapy 入门基础(六) Item Pipeline

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. Unity 基于Cinemachine计算透视摄像机在地图中的移动范围

    Unity中Cinemachine的基础功能介绍可详见之前写的博客: https://www.cnblogs.com/koshio0219/p/11820654.html 本篇的重点是讨论,在给定规则 ...

  5. 【C_Language】---一份程序看懂C程序printf()的几种常用用法

    闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...

  6. 对标Eureka的AP一致性,Nacos如何实现Raft算法

    一.快速了解Raft算法 Raft 适用于一个管理日志一致性的协议,相比于 Paxos 协议 Raft 更易于理解和去实现它. 为了提高理解性,Raft 将一致性算法分为了几个部分,包括领导选取(le ...

  7. mysql 注入问题

    1.实质 MySql语句是用户自行拼接的字符串 2.例子 import pymysql # 获取用户输入信息 username = input("请输入用户名:") pwd = i ...

  8. 1.用户交互Scanner

    Java流程控制 一:用户交互Scanner Scanner对象: 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.uti ...

  9. (数据科学学习手札73)盘点pandas 1.0.0中的新特性

    本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 毫无疑问pandas已经成为基于Pytho ...

  10. (转)宽字节编码类型的XSS

    今晚又看了一遍PKAV-心上的瘦子写的xss腾讯系列的例子,收获挺大的,其中对宽字节注入有了更深的了解,又查找了一些相关的资料,整理一下,以备以后查阅 参考文档: http://book.2cto.c ...