使用 FTP 和 Python 获取 Android 个文件

Fetch Android files using FTP and Python

我目前在使用 FTP 服务器和 Python 获取 android 文件时遇到了一些困难。我在 Android 设备上安装了一个用作 FTP 服务器的应用程序。我在 Windows 浏览器上进行了测试,能够查看 ftp 数据并与之交互。

现在,我正在尝试创建一个简单的 Python 脚本来提取我设备的数据。到目前为止,我有以下行:

from ftplib import *

ftp = FTP('123.456.7.89:13000', 'username', 'password')

当我尝试使用此主机连接时,我收到以下错误消息:

[Errno 11004] getaddrinfo failed

如果我将代码更改为

ftp = FTP('123.456.7.89, 'username', 'password')

我收到以下消息

 [Errno 10061] No connection could be made because the target machine actively refused it

我还能够列出已知测试的文件 ftp 'ftp.microsoft.com' 所以问题可能在某种程度上与我尝试声明我的主机的方式有关?

ftp = FTP('123.456.7.89:13000', 'username', 'password')

ftplib 的文档建议第一个参数必须是主机,而不是 host:port。这也解释了以下错误:

[Errno 11004] getaddrinfo failed

这是解析器的错误,因为它试图将给定名称 123.456.7.89:13000 解释为主机名,IPv4(或 IPv6)和 none 有效。

如果您使用非标准端口,则必须在创建 FTP 对象后进行连接和登录,因为无法将非标准端口提供给对象构造函数:

 ftp = FTP()
 ftp.connect('123.456.7.89',13000)
 ftp.login(username,password)