我遇到过许多用于WebFTP客户端的PHP脚本。我需要在PHP中将SFTP客户端实现为Web应用程序。PHP是否支持SFTP?我找不到任何sample。谁能帮我解决这个问题? 最佳答案 PHP有ssh2流包装器(默认禁用),因此您可以通过使用ssh2.sftp://协议(protocol)来将sftp连接与支持流包装器的任何函数一起使用,例如file_get_contents('ssh2.sftp://user:pass@example.com:22/path/to/filename');或-当同时使用ssh2extension时$
我正在尝试使用Java使用SFTP(而不是FTPS)从服务器检索文件。我该怎么做? 最佳答案 另一种选择是考虑查看JSchlibrary.JSch似乎是一些大型开源项目的首选库,包括Eclipse、Ant和ApacheCommonsHttpClient等。它很好地支持用户/密码和基于证书的登录,以及所有其他美味的SSH2功能。这是一个通过SFTP检索的简单远程文件。错误处理留给读者练习:-)JSchjsch=newJSch();StringknownHostsFilename="/home/username/.ssh/known_h
情况是这样的:我可以通过SSH访问ServerA我可以通过SFTP访问ServerB,但只能从ServerA访问我想使用Ruby通过SSH连接到ServerA,然后将SFTP文件从ServerB连接到ServerA。我可以使用Net::SSH中的文档连接到ServerA:require'net/ssh/gateway'gateway=Net::SSH::Gateway.new('server_a','user')gateway.ssh("server_a","user")do|ssh|#howtoSFTPintoserver_bhereandrunSFTPcommands?endgat
我目前正在执行以下操作以获取目录中所有文件的列表:Net::SFTP.start('host','username',:password=>'password')do|sftp|sftp.dir.foreach("/path")do|entry|putsentry.nameendend但这似乎是随机列出的文件。我需要按名称对文件进行排序。那么,如何按名称对文件进行排序? 最佳答案 由于SFTP仅返回服务器发送的排序结果,因此您可以手动对结果进行排序:entries=sftp.dir.entries("/path").sort_by(
仅当目录不存在时,如何通过SFTP在Ruby上创建目录?我现在有以下代码:Net::SFTP.start(ip,id,:password=>pass,:port=>port)do|sftp|sftp.mkdir!remotePathsftp.upload!(localPath+localfile,remotePath+remotefile)end我第一次创建目录没有问题,但它会尝试重新创建相同的目录,即使它已经存在并且它会抛出一个错误。有人知道怎么做吗?在使用fileutils时,有这样的代码:FileUtils.mkdir_p(remotePath)unlessFile.exists
我正在使用ruby2.0.0和rails4.0.0。我有类似的东西:require'net/sftp'sftp=Net::SFTP.start('ftp.app.com','username',:password=>'password')sftp.file.open("/path/to/remote/file.csv","r")do|f|putsf.getsend这会打开FTP站点上的文件,但它只会放置csv文件的第一行。我需要逐行阅读此文件,最好忽略标题。如何在不将文件下载到本地的情况下逐行读取文件? 最佳答案 我通过这样做解
我遇到了一个看起来非常不稳定的问题,这是Ruby的问题还是我所做的?请帮助-在我解决此问题之前,我的项目已停滞不前。鉴于此代码在MacOSLeopard上运行:require'uri'require'net/ssh'require'net/sftp'includeNetdefcopy_from_uri(uri,local_path)#SFTPcopySFTP.start(uri.host,uri.user,:password=>'password')do|sftp|puts"downloadingfrom#{uri.host},path#{uri.path}\n"sftp.downlo
有没有一种简单的方法可以使用Net::SFTP获取文件的修改日期?如果能做到这一点就好了:Net::SFTP.start('some_server')do|sftp|sftp.dir.glob('*').eachdo|file|putsfile.mtimeendend但这是不可能的(据我所知)。伯恩斯。 最佳答案 您的示例代码几乎已经存在,您只需要在您拥有file.mtime的地方使用file.attributes.mtime。此外,我猜问题中的代码只是一个示例,但为了执行它,您还需要将用户名和密码传递给start并传递路径作为gl
使用Net-SFTPgem、Ruby2和Rails4我编写的代码在纯ruby中运行,但将我的代码复制到rails上,现在我得到:Encoding::UndefinedConversionError:"\xA8"fromASCII-8BITtoUTF-8我可以在我的代码中更改什么以使其正常工作?defself.get_recent_file(ftp_file,local_file)Net::SFTP.start(Config::A_FTP[:domain],Config::A_FTP[:username],:password=>Config::A_FTP[:password])do|
我有一个广泛使用SFTP协议(protocol)的应用。我想为它编写集成测试,有没有用Ruby实现SFTP服务器功能的库? 最佳答案 你试过了吗https://rubygems.org/search?utf8=%E2%9C%93&query=sftp?这里有一个SFTP协议(protocol)实现:https://github.com/georgediaz88/fun_sftp和一些模拟SFTP的库:https://github.com/playlouder/mock_sftp 关于ru