这个问题在这里已有答案:
有没有办法直接从一个API发送文件到另一个FTP服务器,而无需在Python 3中将它们下载到本地。
目前我们从一个API下载到本地,然后将其发送到FTP服务器,希望通过直接将文件发送到服务器来避免数据流中的跳跃。
你可以使用文件的字节数据(它将存储在内存中)并将其传递给另一个API。
其中一个选项是使用另一个API函数(TransferFile,...),它将数据从API服务器传输到FTP站点。然后,您只需从代码中调用该API方法,而无需将数据下载到本地服务器。
FTP协议具有从第三方客户端启动两个远程主机之间的数据传输的规定。这称为代理模式。不幸的是,大多数服务器出于安全原因禁用它,因为它曾经是一种非常有效的DOS攻击方式。
如果您可以控制两台服务器,并且两者都使用FTP,并且如果它们未公开,则可以非常高效。
在任何其他用例中,数据必须通过客户端。可以做的最好的事情是打开两个连接并在从源接收数据后立即将数据传输到目标主机,而不将其存储在磁盘上。