gftp - 229 进入扩展被动模式

问题描述 投票:0回答:1

我正在使用 gftp 库创建一个 ftp 客户端。连接到服务器可以工作,但是当我尝试列出当前目录的内容时,服务器因

229 Entering Extended Passive Mode
而挂起。我读到这可能是防火墙问题,但如果我使用 Filezilla 连接到 FTP 服务器,它就可以工作。

我做错了什么?

这是我正在使用的代码:

    c, err := ftp.Dial(
        os.Getenv("ftpserver"),
        ftp.DialWithExplicitTLS(
            &tls.Config{
                InsecureSkipVerify: true,
            },
        ),
        ftp.DialWithDebugOutput(os.Stdout),
        ftp.DialWithTimeout(5*time.Second),
    )

    err = c.Login(os.Getenv("username"), os.Getenv("password"))
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(c.List("/"))

    // Do something with the FTP conn

    if err := c.Quit(); err != nil {
        log.Fatal(err)
    }

这是它给我的输出:

220 (vsFTPd 3.0.3)
AUTH TLS
234 Proceed with negotiation.
USER username
331 Please specify the password.
PASS pasword
230 Login successful.
FEAT
211-Features:
 AUTH TLS
 UTF8
 EPRT
 EPSV
 MDTM
 PASV
 PBSZ
 PROT
 REST STREAM
 SIZE
 TVFS
211 End
TYPE I
200 Switching to Binary mode.
OPTS UTF8 ON
200 Always in UTF8 mode.
PBSZ 0
200 PBSZ set to 0.
PROT P
200 PROT now Private.
EPSV
229 Entering Extended Passive Mode (|||7339|)

go ftp connection
1个回答
0
投票

我也遇到了同样的事情。它似乎与此问题有关。建议修复here,这对我有用 - 降级到

v0.0.0-20220301011324-fed5bc26b7fa

$ go get github.com/jlaffaye/[email protected]
go: downloading github.com/jlaffaye/ftp v0.0.0-20220301011324-fed5bc26b7fa
go: downgraded github.com/jlaffaye/ftp v0.0.0-20220829015825-b85cf1edccd4 => v0.0.0-20220301011324-fed5bc26b7fa
© www.soinside.com 2019 - 2024. All rights reserved.