goftp выдает ошибку 502 на каждую команду - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь реализовать FTP-клиент в golang. Я использую библиотеку goftp для этого. Я могу успешно войти на FTP-сервер, но после этого каждая команда (получить текущий рабочий каталог, загрузить файл и т. Д.) Выдает исключение panic: 502 Command not implemented.. Например, в приведенном ниже коде я пытаюсь получить текущий рабочий каталог после входа на сервер.

Я могу выполнять все виды операций с помощью обычных команд ftp через CLI. Но здесь я заблокирован с 502 кодом ошибки. Я что-то здесь упускаю?

import (
    "fmt"
    "os"
    "path/filepath"

    goftp "gopkg.in/dutchcoders/goftp.v1"
)

// Actual code
if ftp, err = goftp.Connect(host); err != nil {
    panic(err)
}

defer ftp.Close()
fmt.Println("Successfully connected to", host)

if err = ftp.Login(username, password); err != nil {
        panic(err)
    }

pwd, err := ftp.Pwd()
if err == nil {
    fmt.Println("present working directory:", pwd)
} else {
    panic(err)
}

РЕДАКТИРОВАТЬ

После включения режима отладки (используя goftp.ConnectDbg(host)) я получил следующий журнал:

2019/10/25 22:26:03 <220 Служба готова для нового пользователя. </p>

2019/10/25 22:26:03 220 Служба готова для нового пользователя.

2019/10/25 22:26:03> ПОЛЬЗОВАТЕЛЬ pkgajulapalli

2019/10/25 22:26:03 <331 Имя пользователя в порядке, нужен пароль для pkgajulapalli. </p>

2019/ 10/25 22:26:03> Пароль PASS @ 123

2019/10/25 22:26:03 <230 Пользователь вошел в систему, продолжить. </p>

Войдите в систему с учетными данными

2019/10/25 22:26:05> PWD

2019/10/25 22:26:05 <502 Команда не выполнена. </p>

panic: 502 Команда не реализована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...