首页 > 后端开发 > Python教程 > 如何使用Python的Requests库上传多部分表单数据?

如何使用Python的Requests库上传多部分表单数据?

Barbara Streisand
发布: 2024-12-30 09:51:11
原创
670 人浏览过

How to Upload Multipart Form Data with Python's Requests Library?

在 Python 中使用请求上传多部分表单数据

在 Python 中,请求可用于发送“multipart/form-data”请求,通常用于上传文件和向网络服务器提交表单数据。

发送单个文件

要发送文件,请使用“files”参数。 “files”的值应该是一个字典,以文件路径为键,以打开的文件对象或元组为值。例如:

import requests

with open('myfile.txt', 'rb') as f:
    files = {'myfile': f}

response = requests.post('http://example.com/upload', files=files)
登录后复制

将表单数据与文件一起发送

要在文件之外发送表单数据,您可以同时使用“文件”和“数据” “ 参数。 “data”参数应该是一个具有表单数据键值对的字典。

import requests

with open('myfile.txt', 'rb') as f:
    files = {'myfile': f}

data = {'name': 'John Doe'}

response = requests.post('http://example.com/upload', files=files, data=data)
登录后复制

使用请求工具带进行多部分支持

请求- toolbelt 库提供了一个高级的 MultipartEncoder 类,可以简化构建多部分请求的过程。这些字段可以用与“files”参数相同的格式定义。

from requests_toolbelt.multipart.encoder import MultipartEncoder

fields = {
    'foo': 'bar',
    'spam': ('spam.txt', open('spam.txt', 'rb'), 'text/plain'),
}

multipart_encoder = MultipartEncoder(fields=fields)

response = requests.post('http://example.com/upload', data=multipart_encoder, headers={'Content-Type': multipart_encoder.content_type})
登录后复制

以上是如何使用Python的Requests库上传多部分表单数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板