FTP client package for Go
6563ce9dff
pure-ftpd 1.0.49-4 as supplied as part of Ubuntu 20.04 advertises UTF8 support in the FEAT command but the OPTS command fails to turn it on. OPTS UTF8 ON 504 Unknown command This patch introduces a workaround to ignore the error which enables this library to work with this version of pure-ftpd. Filezilla appears to ignore this error in a similar way. |
||
---|---|---|
.github | ||
.travis.yml | ||
client_test.go | ||
conn_test.go | ||
debug.go | ||
ftp.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
parse_test.go | ||
parse.go | ||
README.md | ||
scanner_test.go | ||
scanner.go | ||
status_test.go | ||
status.go | ||
walker_test.go | ||
walker.go |
goftp
A FTP client package for Go
Install
go get -u github.com/jlaffaye/ftp
Documentation
https://pkg.go.dev/github.com/jlaffaye/ftp?tab=doc
Example
c, err := ftp.Dial("ftp.example.org:21", ftp.DialWithTimeout(5*time.Second))
if err != nil {
log.Fatal(err)
}
err = c.Login("anonymous", "anonymous")
if err != nil {
log.Fatal(err)
}
// Do something with the FTP conn
if err := c.Quit(); err != nil {
log.Fatal(err)
}
Store a file example
data := bytes.NewBufferString("Hello World")
err = c.Stor("test-file.txt", data)
if err != nil {
panic(err)
}
Read a file example
r, err := c.Retr("test-file.txt")
if err != nil {
panic(err)
}
defer r.Close()
buf, err := ioutil.ReadAll(r)
println(string(buf))