FTP client package for Go
Go to file
dependabot[bot] bedccfb795
Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#331)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 14:57:19 -05:00
.github Bump golangci/golangci-lint-action from 3.4.0 to 3.7.0 (#344) 2023-11-13 13:46:08 -05:00
client_test.go Add forceListHidden dial option to force the use of 'LIST -a' command (#271) 2022-09-04 14:43:06 -04:00
conn_test.go Fix GetEntry / MLST for some servers - Fixes #321 (#322) 2023-05-12 22:29:37 -04:00
constants_test.go Add tests for EntryType 2022-03-08 18:57:09 -05:00
debug.go Debug directory listings 2021-10-03 18:40:19 +03:00
ftp_test.go Fix PASV address like lftp does (#349) 2023-11-13 14:56:59 -05:00
ftp.go Fix PASV address like lftp does (#349) 2023-11-13 14:56:59 -05:00
go.mod Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#331) 2023-11-13 14:57:19 -05:00
go.sum Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#331) 2023-11-13 14:57:19 -05:00
LICENSE Update copyright years. 2013-02-17 10:34:01 +01:00
parse_test.go Fix issues reported by errcheck 2021-03-06 19:36:26 -05:00
parse.go Add MLST command in the form of a Get method (#269) 2022-08-21 17:25:29 -04:00
README.md Add CodeQL and golangci-lint badges 2022-09-07 18:02:26 -04:00
scanner_test.go Fix issues reported by goimports 2021-03-06 19:44:19 -05:00
scanner.go Do not export the scanner type 2017-03-04 13:01:41 +01:00
status.go Add status string for unknown status codes 2020-07-08 08:23:44 +02:00
walker_test.go Fix issues reported by staticcheck 2020-10-21 22:10:46 +02:00
walker.go Add forceListHidden dial option to force the use of 'LIST -a' command (#271) 2022-09-04 14:43:06 -04:00

goftp

Units tests Coverage Status golangci-lint CodeQL Go ReportCard Go Reference

A FTP client package for Go

Install

go get -u github.com/jlaffaye/ftp

Documentation

https://pkg.go.dev/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)
}
defer r.Close()

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