在 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中文网其他相关文章!