• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang goftp.FTP类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/dutchcoders/goftp.FTP的典型用法代码示例。如果您正苦于以下问题:Golang FTP类的具体用法?Golang FTP怎么用?Golang FTP使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了FTP类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: GetFolders

func GetFolders(ftp *goftp.FTP, path string) []string {
	var err error
	var filesAndFolders []string
	if filesAndFolders, err = ftp.List(path); err != nil {
		panic(err)
	}

	var folders = make([]string, 0)
	for i := 0; i < len(filesAndFolders); i++ {
		var file string = filesAndFolders[i]
		if strings.ContainsAny(file, "type=dir") {
			folders = append(folders, file)
		}
	}
	return folders
}
开发者ID:gitter-badger,项目名称:copyToFTP,代码行数:16,代码来源:ftp_service.go


示例2: main

func main() {
	configPath := os.Args[1]
	fmt.Println(configPath)

	var config Configuration = getConfig(configPath)
	var ftpConnection *goftp.FTP
	var builds []os.FileInfo = GetAllBuilds(config.BuildsPath)

	var lastBuild os.FileInfo = builds[len(builds)-1]
	fmt.Println("Last build is", lastBuild.Name())

	ftpConnection = ftp.GetFtpConnection(config.FtpHost, config.FtpUser, config.FtpPassword)
	var currentPath string = ftp.GetCurrentPath(ftpConnection)

	fmt.Println("Connection to ftp", config.FtpHost, "successfully established")
	fmt.Println("Current Path is", currentPath)

	fmt.Println(config.FtpBuildPaths)

	for i := 0; i < len(config.FtpBuildPaths); i++ {
		ftp.MakeBuildDir(ftpConnection, config.FtpBuildPaths[i]+"/"+lastBuild.Name())
		var path = config.FtpBuildPaths[i]
		CopyBuildToFTP(config, lastBuild, ftpConnection, config.BuildsPath, path)
	}

	fmt.Println("Builds transfered successfully. Exit.")
	ftpConnection.Quit()
}
开发者ID:gitter-badger,项目名称:copyToFTP,代码行数:28,代码来源:copyToFtp.go


示例3: GetCurrentPath

func GetCurrentPath(ftp *goftp.FTP) string {
	var err error
	var curPath string
	if curPath, err = ftp.Pwd(); err != nil {
		panic(err)
	}
	return curPath
}
开发者ID:gitter-badger,项目名称:copyToFTP,代码行数:8,代码来源:ftp_service.go


示例4: main

func main() {
	var err error
	var ftp *goftp.FTP
	if !handleArgs() {
		panic("Usage: ./logdl <host> <user> <password> <directory>")
	}
	args := os.Args[1:]
	host := args[0]
	user := args[1]
	pass := args[2]
	dir := golib.GetFinalArgs(args, 3)

	if ftp, err = goftp.Connect(host + ":21"); err != nil {
		panic(err)
	}
	defer ftp.Close()
	if err = ftp.Login(user, pass); err != nil {
		panic(err)
	}
	if err = ftp.Cwd(dir); err != nil {
		panic(err)
	}
	var curpath string
	if curpath, err = ftp.Pwd(); err != nil {
		panic(err)
	}

	downloadDirectory(curpath, ftp)
}
开发者ID:JamieSinn,项目名称:scripts,代码行数:29,代码来源:logdl.go


示例5: Send

func (s FtpTarget) Send(newItems []feeds.RssResult, prices []feeds.GoldMoney) {
	conf := config.GetConfig()
	var perm os.FileMode = 0777
	var err error
	var ftp *goftp.FTP

	log.Printf("...saving newData (%v) file to ftp to %v\n", len(newItems), conf.Propagate.Ftp.Url)
	var newData = []byte("var data = \n")
	jsave, _ := json.Marshal(newItems)
	for _, e := range jsave {
		newData = append(newData, e)
	}
	ioutil.WriteFile(conf.General.DataDir+"newData.json", newData, perm)
	var file *os.File
	if file, err = os.Open(conf.General.DataDir + "newData.json"); err != nil {
		panic(err)
	}
	defer file.Close()
	addr := fmt.Sprintf("%v:%v", conf.Propagate.Ftp.Url, conf.Propagate.Ftp.Port)
	if ftp, err = goftp.Connect(addr); err != nil {
		panic(err)
	}
	defer ftp.Close()
	if err = ftp.Login(conf.Propagate.Ftp.Usr, conf.Propagate.Ftp.Pw); err != nil {
		panic(err)
	}
	// This is failing for some reason????
	// One line curl seems to do it....    curl -T newData.json ftp://blarblar.net --user fred:donttell
	//	if err := ftp.Stor("newData.json", file); err != nil {
	//		panic(err)
	//	}

	log.Printf("saving prices (%v) file to ftp to webserver\n\n\n", len(prices))
	var data3 = []byte("var prices = \n")
	jsave2, _ := json.Marshal(prices)
	for _, e := range jsave2 {
		data3 = append(data3, e)
	}
	ioutil.WriteFile(conf.General.DataDir+"prices.json", data3, perm)
	var pricesFile *os.File
	if pricesFile, err = os.Open(conf.General.DataDir + "prices.json"); err != nil {
		panic(err)
	}
	defer pricesFile.Close()
	// This is failing for some reason????
	// One line curl seems to do it....    curl -T price.json ftp://blarblar.net --user fred:donttell
	//	if err := ftp.Stor("prices.json", pricesFile); err != nil {
	//		panic(err)
	//	}
}
开发者ID:bangbangsoftware,项目名称:rssnest,代码行数:50,代码来源:ftpTarget.go


示例6: GetFtpConnection

func GetFtpConnection(host, user, password string) *goftp.FTP {
	var err error
	var ftp *goftp.FTP

	if ftp, err = goftp.Connect(host); err != nil {
		panic(err)
	}

	if err = ftp.Login(user, password); err != nil {
		panic(err)
	}

	return ftp
}
开发者ID:gitter-badger,项目名称:copyToFTP,代码行数:14,代码来源:ftp_service.go


示例7: prepareFTPConn

func prepareFTPConn(port int, host, login, password string) (*goftp.FTP, error) {
	var ftp *goftp.FTP
	var err error

	if ftp, err = goftp.Connect(fmt.Sprintf("%s:%d", host, port)); err != nil {
		return nil, err
	}

	if err = ftp.Login(login, password); err != nil {
		return nil, err
	}

	return ftp, nil
}
开发者ID:headmade,项目名称:backuper,代码行数:14,代码来源:util.go


示例8: CopyBuildToFTP

func CopyBuildToFTP(config Configuration, lastBuild os.FileInfo, ftpConnection *goftp.FTP, buildsPath string, ftpBuildPaths string) {
	var buildFiles []os.FileInfo = GetBuildFiles(buildsPath + "/" + lastBuild.Name())
	for i := 0; i < len(buildFiles); i++ {
		var fileInfo os.FileInfo = buildFiles[i]
		var file *os.File
		var err error
		if file, err = os.Open(buildsPath + "/" + lastBuild.Name() + "/" + fileInfo.Name()); err != nil {
			panic(err)
		}
		var reader io.Reader = (*os.File)(file)
		if err := ftpConnection.Stor(ftpBuildPaths+"/"+lastBuild.Name()+"/"+fileInfo.Name(), reader); err != nil {
			panic(err)
		}
		fmt.Println(file.Name(), "copied to", ftpBuildPaths, "/", lastBuild.Name())
	}
}
开发者ID:gitter-badger,项目名称:copyToFTP,代码行数:16,代码来源:copyToFtp.go


示例9: downloadDirectory

func downloadDirectory(directory string, ftp *goftp.FTP) {
	var files []string
	var err error
	if files, err = ftp.List(""); err != nil {
		panic(err)
	}
	directory = strings.Replace(directory, "\r\n", "", -1)

	for f := range files {
		filename := strings.Split(files[f], "; ")
		newPath := directory + "/" + filename[1]
		if !strings.Contains(filename[0], "type=dir;") {
			downloadFile(newPath, ftp)
		} else {
			ftp.Cwd(newPath)
			downloadDirectory(newPath, ftp)
		}
	}
}
开发者ID:JamieSinn,项目名称:scripts,代码行数:19,代码来源:logdl.go


示例10: main

func main() {
	var err error
	var ftp *goftp.FTP

	// For debug messages: goftp.ConnectDbg("ftp.server.com:21")
	if ftp, err = goftp.Connect("172.8.4.101:21"); 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("bob", "[email protected]"); err != nil {
		panic(err)
	}

	if err = ftp.Cwd("/home/bob"); err != nil {
		panic(err)
	}

	var curpath string
	if curpath, err = ftp.Pwd(); err != nil {
		panic(err)
	}

	fmt.Printf("Current path: %s\n", curpath)

	var files []string
	if files, err = ftp.List(""); err != nil {
		panic(err)
	}

	fmt.Println(files)

//	var file *os.File
//	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("/home/bob", func(path string, info os.FileMode, err error) error {
		_, 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
	})

	fmt.Println(err)
}
开发者ID:shenshouer,项目名称:downloader,代码行数:69,代码来源:goftpTest.go


示例11: SendFile

func (f *FTP) SendFile(remoteDir, remoteFile, localFile string) (err error) {
	var (
		file *os.File
		ftp  *goftp.FTP
	)
	if ftp, err = goftp.Connect(f.host); err != nil {
		return
	}
	defer ftp.Close()
	if err = ftp.Login(f.user, f.pass); err != nil {
		return
	}
	if file, err = os.Open(localFile); err != nil {
		return
	}
	defer file.Close()
	if f.testMode {
		return
	}
	if err = ftp.Mkd(remoteDir); err != nil {
		return
	}
	if err = ftp.Cwd(remoteDir); err != nil {
		return
	}
	ftp.Stor(remoteFile, file)

	return
}
开发者ID:kpawlik,项目名称:exportms,代码行数:29,代码来源:ftp.go


示例12: MakeBuildDir

func MakeBuildDir(ftp *goftp.FTP, dir string) {
	var err error
	if err = ftp.Mkd(dir); err != nil {
		panic(err)
	}
}
开发者ID:gitter-badger,项目名称:copyToFTP,代码行数:6,代码来源:ftp_service.go



注:本文中的github.com/dutchcoders/goftp.FTP类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang logging.Error函数代码示例发布时间:2022-05-23
下一篇:
Golang randbo.New函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap