Python使用requests和requests_toolbelt上传文件
1、requests-toolbelt官方文档:https://pypi.org/project/requests-toolbelt/
2、环境安装
pip install requests-toolbelt
3、
multipart/form-data传文件
from requests_toolbelt import MultipartEncoder
import requests m = MultipartEncoder(
fields={'field0': 'value',
'field1': 'value',
'field2': ('文件名称', open('文件地址/file.py', 'rb'), 'text/plain')}
) r = requests.post('http://httpbin.org/post',
data=m,
headers={'Content-Type': m.content_type})
multipart/form-data表单提交(传非文件)
from requests_toolbelt import MultipartEncoder
import requests m = MultipartEncoder(
fields={'field0': 'value',
'field1': 'value'}) r = requests.post('http://httpbin.org/post',
data=m,
headers={'Content-Type': m.content_type})
multipart/form-data表单提交(传图片)
import requests
from requests_toolbelt.multipart import MultipartEncoder image = open(r"D:\xxx.jpg", "rb"), # 读取模式为二进制读取方式 m = MultipartEncoder(fields={
# "file":("图片的名称.jpg","图片的二进制流","image/jpeg")
"file": ("xxxx.jpg", image, "image/jpeg")
}) r = requests.post('http://httpbin.org/post',data=m,headers={'Content-Type': m.content_type})
参数也可以使用list类型
from requests_toolbelt import MultipartEncoder
import requests m = MultipartEncoder(
fields = [
('source', ('f1.ext', f1, 'application/x-example-mimetype'),
('source', ('f2.ext', f2, 'application/x-example-mimetype'),
]
) r = requests.post('http://httpbin.org/post',
data=m,
headers={'Content-Type': m.content_type})
Python使用requests和requests_toolbelt上传文件的更多相关文章
- python3使用requests和requests_toolbelt上传文件
https://blog.csdn.net/summerpowerz/article/details/80293235 https://blog.csdn.net/lhh08hasee/article ...
- Python Requests库 form-data 上传文件操作
请求数据示例: ------WebKitFormBoundaryKLoWgrA4O40MayHM Content-Disposition: form-data; name="id" ...
- python通过http(multipart/form-data)上传文件的方法
之前写过一篇博客,说的如何python如何通过http下载文件,今天写一篇博客来介绍如下,python如何通过request库实现上传文件 这里主要是解决multipart/form-data这种格式 ...
- selenium python (十四)上传文件的处理
#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #上传过程一般要打开一个系统的windows窗口,从窗口选择本地文件添加 ...
- 解决python发送multipart/form-data请求上传文件的问题
服务器接收文件时,有时会使用表单接收的方式,这意味着我们需要使用Python的requests上传表单数据和文件. 常用的方式一般如下: data = { 'name': 'nginx' } file ...
- Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法
记录瞬间 近段时间使用Springboot实现了文件的上传服务,但是在使用python的requests进行post上传时,总是报错. 比如: 1.Current request is not a m ...
- Django 练习班级管理系统八 -- 上传文件
Form表单上传文件 修改 views.py import os def upload(request): if request.method == 'GET': img_list = models. ...
- python requests上传文件 tornado 接收文件
requests 上传文件 import requests def images(): url = 'http://127.0.0.1:8889/upload/image' files = {'fil ...
- Requests库上传文件时UnicodeDecodeError: 'ascii' codec can't decode byte错误解析
在使用Request上传文件的时候碰到如下错误提示: 2013-12-20 20:51:09,235 __main__ ERROR 'ascii' codec can't decode byte 0x ...
- python自动化开发-[第二十二天]-bbs多级评论、点赞、上传文件
今日概要: 1.related_name和related_query_name的区别 2.through_fields的用途 3.django的事务提交 4.点赞的动画效果 5.多级评论的原理 6.上 ...
随机推荐
- Ping命令的基本使用
一.Ping命令的基本使用 在网络中 ping 是一个十分强大的 TCP/IP 工具.我们通常会用它来直接 ping ip 地址,来测试网络的连通情况.它的作用主要为: 1.用来检测网络的连通情况和分 ...
- win10 扩展c盘 “PARTITION_BASIC_DATA_GUID"
一不小心化身为c盘战士了,系统卡到不行 于是通过pe登入系统(我自己用的wintogo),然后下载傲梅分区助手(嘎嘎好用) 傲梅官网 https://www.disktool.cn/download. ...
- data_analysis:初识numpy
import numpy as npimport pandas as pd# """第一种,使用loadtxt"""# # 加载数据路径# ...
- About TopoJSON
An extension of GeoJSON that encodes topology! TopoJSON https://github.com/topojson/topojson The To ...
- docker rabbitMQ安装
1.环境准备 服务器 CENTOS 7 版本 安装docker容器 2.开始安装 docker pull rabbitmq:management 说明:为什么不直接安装 docker pull rab ...
- 手写g++编译命令行工具笔记
基本想法 为什么要写 CPPRUN: 如果要开警告开关,敲完整的编译代码还挺麻烦的 想要编译与运行一次性完成 Windows 的控制台本来是 cmd,后来有了 Powershell,但是后者不能用 & ...
- Redis实战(三)Redis冷备如何做
Redis 的 RDB 持久化方案,相信大家都有所了解,但是对于企业来说,如果只是持久化了一个 RDB 文件,不足以应付生产级别的事故.通常的方案就是对 RDB 进行多个备份,今天带大家来真枪实弹操作 ...
- C++ STL摘记
一.string类补充 1.函数示例: (1)find和rfind函数,返回的是下标或者string::npos index=ss.find(s1,pos,num) find从pos(包括)开始往右查 ...
- ts(typescript)讲解for , for...in..., for...of..., while, every, some, map, filter
for 一般用于已知循环次数 var num:number = 5; var i:number; var factorial = 1; for(i = num;i>=1;i--) { fact ...
- C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转)
前言 多线程刷新界面主要用到多线程,委托,线程安全.事件等一系列高难度的C#操作. 1.使用timer控件对要刷新的控件进行定时刷新 对刷新频率要求不高的时候,可以使用该方法. 2.刷新UI控件 在开 ...