ftp = Net::FTP.new(IPAddress)
ftp.login(UserName, Password)
ftp.sendcmd("prompt")
ftp.sendcmd("mget filename*")
此代码返回以下错误。
/usr/lib/ruby/1.9.1/net/ftp.rb:261:in `getresp': 500 'PROMPT': command not understood (Net::FTPPermError) from /usr/lib/ruby/1.9.1/net/ftp.rb:269:in `voidresp' from /usr/lib/ruby/1.9.1/net/ftp.rb:292:in `block in voidcmd' from /usr/lib/ruby/1.9.1/monitor.rb:190:in `mon_synchronize' from /usr/lib/ruby/1.9.1/net/ftp.rb:290:in `voidcmd'
为什么Ruby将我的命令转换为大写,而我用小写字母表示。
答案 0 :(得分:0)
我不认为sendcmd是这样使用的。试试这个替代
require 'net/ftp'
user="user"
pass="password"
server="server"
Net::FTP.open(server) do |ftp|
ftp.login(user,pass)
ftp.nlst("filename.*").each do |file|
ftp.getbinaryfile(file,file)
end
ftp.close
end