相关疑难解决方法(0)

无法使用 ftplib 列出 FTP 目录 - 但 FTP 客户端可以工作

我正在尝试连接到 FTP,但无法运行任何命令。

ftp_server = ip
ftp_username = username
ftp_password = password

ftp = ftplib.FTP(ftp_server)
ftp.login(ftp_username, ftp_password)
'230 Logged on'

ftp.nlst()
Run Code Online (Sandbox Code Playgroud)

ftp.nlst引发此错误:

错误:
[WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者因为连接的主机没有响应而建立连接失败


我已经使用 FileZilla(在同一台机器上运行)测试了连接,它工作正常。

这是 FileZilla 日志:

ftp_server = ip
ftp_username = username
ftp_password = password

ftp = ftplib.FTP(ftp_server)
ftp.login(ftp_username, ftp_password)
'230 Logged on'

ftp.nlst()
Run Code Online (Sandbox Code Playgroud)

python ftp ftplib

6
推荐指数
1
解决办法
1083
查看次数

Ftplib ConnectionRefusedError:[Errno 111]连接被拒绝(python 3.5)

我有一个应该连接到 FTP 的脚本

from ftplib import FTP

with FTP('IP') as ftp:
   ftp.login(user='my user', passwd='my password')
   ftp.cwd('/MY_DIR')
   ftp.dir()
Run Code Online (Sandbox Code Playgroud)

我有一个错误: ConnectionRefusedError: [Errno 111] Connection refused


ftp是带有vsftpd的EC2

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=IP
pasv_addr_resolve=YES
Run Code Online (Sandbox Code Playgroud)

已经尝试过:

该代码可在带或不带 TLS 的其他 FTP 上运行(托管在 1and1、OVH...)


我在 NodeJS 中尝试了这个脚本

const ftpClient = require('ftp-client');

const client = new ftpClient({
   host: "IP",
   port: 21,
   user: "My user", // defaults to "anonymous"
   password: "My password" // defaults to "@anonymous"
});

client.connect(() => {

  client.download('/MY_DIR/file','/tmp/file', (res) => {
        console.log(res)
  })
});
Run Code Online (Sandbox Code Playgroud)

工作得很好,所以我排除了防火墙问题


我尝试过启用 TLS …

python ftp ftplib python-3.x

3
推荐指数
1
解决办法
5868
查看次数

标签 统计

ftp ×2

ftplib ×2

python ×2

python-3.x ×1