| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
码头工人
10年前发布

Golang FTP 库:goftp

goftp

一个支持Walk的Golang FTP库

特性

  • AUTH TLS 支持
  • Walk

示例
package main    import (      "github.com/dutchcoders/goftp"      "crypto/tls"  )    func main() {      var err error      var ftp *goftp.FTP        if ftp, err = goftp.Connect("ftp.server.com"); err != nil {          panic(err)      }        defer ftp.Close()        config := tls.Config{              InsecureSkipVerify: true,              ClientAuth:         tls.RequestClientCert,      }        if err = ftp.AuthTLS(config); err != nil {              panic(err)      }        if err = ftp.Login("username", "password"); err != nil {          panic(err)      }        if err = ftp.Cwd("/"); err != nil {          panic(err)      }        var curpath string      if curpath, err = ftp.Pwd("/"); err != nil {          panic(err)      }        fmt.Printf("Current path: %s", curpath)        var files []string      if files, err = ftp.List(""); err != nil {          panic(err)      }        fmt.Println(files)        if file, err := os.Open("/tmp/test.txt"); err!=nil {          panic(err)      }        if err := ftp.Stor("/test.txt", file); err!=nil {          panic(err)      }        err = ftp.Walk("/", func(path string, info os.FileMode, err error) error {          w := &bytes.Buffer{}            _, err = ftp.Retr(path, func(r io.Reader) error {              var hasher = sha256.New()              if _, err = io.Copy(hasher, r); err != nil {                  return err              }                hash := fmt.Sprintf("%s %x", path, sha256.Sum256(nil))              fmt.Println(hash)                return err          })            return nil      })  }

项目主页:http://www.open-open.com/lib/view/home/1420027646984


 本文由用户 码头工人 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1420027646984.html
goftp 网络工具包