Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jlaffaye/ftp
FTP client package for Go
https://github.com/jlaffaye/ftp
ftp ftp-client go
Last synced: about 1 month ago
JSON representation
FTP client package for Go
- Host: GitHub
- URL: https://github.com/jlaffaye/ftp
- Owner: jlaffaye
- License: isc
- Created: 2011-05-06T18:31:51.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2024-04-25T15:53:05.000Z (about 1 month ago)
- Last Synced: 2024-04-25T17:00:33.917Z (about 1 month ago)
- Topics: ftp, ftp-client, go
- Language: Go
- Homepage:
- Size: 329 KB
- Stars: 1,232
- Watchers: 26
- Forks: 351
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go-extra - ftp - 05-06T18:31:51Z|2022-08-21T21:25:29Z| (Networking / Uncategorized)
- awesome-go-zh - ftp
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-stars-eryajf - jlaffaye/ftp - FTP client package for Go (Go)
- go-awesome - goftp - FTP 客户端 (开源类库 / 网络)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). Stars:`1.2K`. (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-golang-repositories - ftp
- awesome-go-cn - ftp
- awesome-go - ftp - | - | - | (Networking / Strings)
- fucking-awesome-go - :octocat: ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). :star: 131 :fork_and_knife: 79 (Networking / Advanced Console UIs)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Uncategorized)
- awesome-go-projects - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Uncategorized)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go-with-framework - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Strings)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go-cn - ftp
- zero-alloc-awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go-stars - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go-cn - ftp
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Strings)
- awesome-go. - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (<span id="网络-networking">网络 Networking</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-cn - ftp - ftp 实现了一个 FTP 客户端,遵循 [RFC 959](http://tools.ietf.org/html/rfc959). (网络 / 高级控制台界面)
- awesome-go-with-stars - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Uncategorized)
- awesome-stars - ftp - FTP client package for Go (Go)
- repo-1316-awesome-go-cn - ftp
- repo-1211-awesome-go-cn - ftp
- awesome-Char - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Uncategorized)
- awesome-reader - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Strings)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Strings)
- Go-awesome - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- go-awesome-cn-star - ftp
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go-zh - ftp
- awesome-go - ftp - ftp 實現了一個 FTP 客戶端,遵循 [RFC 959](http://tools.ietf.org/html/rfc959). (網絡 / 高級控制台界面)
- awesome-go-handwritten - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go - ftp - FTP client package for Go - ★ 395 (Networking)
- go-awesome - goftp - FTP client (Open source library / The Internet)
- awesome-go2 - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Uncategorized)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). - :arrow_down:64 - :star:143 (Networking / Strings)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). (Networking / Advanced Console UIs)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Uncategorized)
- awesome-go-cn - ftp
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go - ftp - Package ftp implements a FTP client as described in [RFC 959](https://tools.ietf.org/html/rfc959). (Networking / Transliteration)
- awesome-go-cn - ftp
README
# goftp #
[![Units tests](https://github.com/jlaffaye/ftp/actions/workflows/unit_tests.yaml/badge.svg)](https://github.com/jlaffaye/ftp/actions/workflows/unit_tests.yaml)
[![Coverage Status](https://coveralls.io/repos/jlaffaye/ftp/badge.svg?branch=master&service=github)](https://coveralls.io/github/jlaffaye/ftp?branch=master)
[![golangci-lint](https://github.com/jlaffaye/ftp/actions/workflows/golangci-lint.yaml/badge.svg)](https://github.com/jlaffaye/ftp/actions/workflows/golangci-lint.yaml)
[![CodeQL](https://github.com/jlaffaye/ftp/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/jlaffaye/ftp/actions/workflows/codeql-analysis.yml)
[![Go ReportCard](https://goreportcard.com/badge/jlaffaye/ftp)](http://goreportcard.com/report/jlaffaye/ftp)
[![Go Reference](https://pkg.go.dev/badge/github.com/jlaffaye/ftp.svg)](https://pkg.go.dev/github.com/jlaffaye/ftp)A FTP client package for Go
## Install ##
```
go get -u github.com/jlaffaye/ftp
```## Documentation ##
https://pkg.go.dev/github.com/jlaffaye/ftp
## Example ##
```go
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 ##
```go
data := bytes.NewBufferString("Hello World")
err = c.Stor("test-file.txt", data)
if err != nil {
panic(err)
}
```## Read a file example ##
```go
r, err := c.Retr("test-file.txt")
if err != nil {
panic(err)
}
defer r.Close()buf, err := ioutil.ReadAll(r)
println(string(buf))
```