首页 > 解决方案 > 使用 `requests` 和 `MultipartEncoder` 发布是否可能导致传输错误或部分上传?

问题描述

尝试使用request.postand上传文件时MultipartEncoder,是否有可能上传错误并导致原始文件和接收到的文件不一致?我需要做任何完整性或有效性检查吗?

标签: pythonpython-requestspython-requests-toolbelt

解决方案


HTTP 通常通过 TCP 使用:

HTTP 客户端通过建立传输控制协议 (TCP) 连接来发起请求 HTTP Wikipedia

只有某些特定版本使用 UDP(参见 Wikipedia 文章)。TCP 本身使用校验和字段来确保正确传输:

为确保正确性,包含校验和字段 TCP Wikipedia

因此,通过 HTTP 发送文件会导致正确的传输,并防止原始文件和接收到的文件之间出现不一致。

您使用的库不应该对此产生影响。因此,如果您使用标准库(如您所做的那样),则不会。


推荐阅读