FTP client package for Go
Go to file
2019-12-17 23:19:57 -05:00
.github Add stale bot 2019-12-17 23:19:57 -05:00
.travis.yml Fix get of golint 2019-10-19 14:58:47 +02:00
client_test.go Add DialWithOptions 2019-04-10 20:25:16 +02:00
conn_test.go Replace DialWithOptions with Dial 2019-04-23 14:04:25 +02:00
debug.go Add DialWithDebugOutput to log commands. 2019-04-17 13:16:26 +02:00
ftp.go Fix spelling errors 2019-07-21 21:44:32 +02:00
go.mod Create Go module. 2019-10-14 21:14:25 +02:00
go.sum Create Go module. 2019-10-14 21:14:25 +02:00
LICENSE Update copyright years. 2013-02-17 10:34:01 +01:00
parse_test.go Correctly parse symlink (#152) 2019-06-24 10:48:59 +02:00
parse.go Correctly parse symlink (#152) 2019-06-24 10:48:59 +02:00
README.md Improve readme (#154) 2019-07-18 21:16:16 +02:00
scanner_test.go Do not export the scanner type 2017-03-04 13:01:41 +01:00
scanner.go Do not export the scanner type 2017-03-04 13:01:41 +01:00
status_test.go Add tests for StatusText 2019-01-26 09:10:51 +01:00
status.go StatusText returns a text for the FTP status code 2019-01-22 14:54:48 +01:00

goftp

Build Status Coverage Status Go ReportCard godoc.org

A FTP client package for Go

Install

go get -u github.com/jlaffaye/ftp

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)
}

buf, err := ioutil.ReadAll(r)
println(string(buf))