Dear Friends,
I am having the source code like this.
require 'net/ftp'
ftp = Net::FTP::new("ftp.ruby-lang.org")
ftp.login("anonymous", "matz@ruby-lang.org")
ftp.chdir("/pub/ruby")
tgz = ftp.list("ruby-*.tar.gz").sort.last
print "the latest version is ", tgz, "\n"
ftp.getbinaryfile(tgz, tgz)
ftp.close
while running this code It is not working properly.
as long as it is simply running,But I am not getting any result.
After pressing ctrl+c I got the error like this.
Please anybody clarify my doubts.
The error is:
/usr/lib/ruby/1.8/net/ftp.rb:211:in `readline': Interrupt
from /usr/lib/ruby/1.8/net/ftp.rb:211:in `getline'
from /usr/lib/ruby/1.8/net/ftp.rb:221:in `getmultiline'
from /usr/lib/ruby/1.8/net/ftp.rb:235:in `getresp'
from /usr/lib/ruby/1.8/net/ftp.rb:251:in `voidresp'
from /usr/lib/ruby/1.8/net/ftp.rb:176:in `connect'
from /usr/lib/ruby/1.8/monitor.rb:238:in `synchronize'
from /usr/lib/ruby/1.8/net/ftp.rb:174:in `connect'
from /usr/lib/ruby/1.8/net/ftp.rb:136:in `initialize'
from net.rb:3:in `new'
from net.rb:3
Your code works for me, which suggests there was either a problem with the ftp server when you tried it or there's something wrong with your connection/firewall. Unrelated to your problem above, you'll have to make a small change in your dir listing code to get it to properly work:
require 'net/ftp'
ftp = Net::FTP::new("ftp.ruby-lang.org")
ftp.login("anonymous", "matz@ruby-lang.org")
ftp.chdir("/pub/ruby")
tgz = ftp.list("ruby-*.tar.gz").map{|l| l.split[8]}.sort.last
print "the latest version is ", tgz, "\n"
ftp.getbinaryfile(tgz, tgz)
ftp.close
Alex Gutteridge
Bioinformatics Center
Kyoto University
···
On 19 Oct 2007, at 15:30, Arul hari wrote:
Dear Friends,
I am having the source code like this.
require 'net/ftp'
ftp = Net::FTP::new("ftp.ruby-lang.org")
ftp.login("anonymous", "matz@ruby-lang.org")
ftp.chdir("/pub/ruby")
tgz = ftp.list("ruby-*.tar.gz").sort.last
print "the latest version is ", tgz, "\n"
ftp.getbinaryfile(tgz, tgz)
ftp.close
while running this code It is not working properly.
as long as it is simply running,But I am not getting any result.
After pressing ctrl+c I got the error like this.
Please anybody clarify my doubts.
The error is:
/usr/lib/ruby/1.8/net/ftp.rb:211:in `readline': Interrupt
from /usr/lib/ruby/1.8/net/ftp.rb:211:in `getline'
from /usr/lib/ruby/1.8/net/ftp.rb:221:in `getmultiline'
from /usr/lib/ruby/1.8/net/ftp.rb:235:in `getresp'
from /usr/lib/ruby/1.8/net/ftp.rb:251:in `voidresp'
from /usr/lib/ruby/1.8/net/ftp.rb:176:in `connect'
from /usr/lib/ruby/1.8/monitor.rb:238:in `synchronize'
from /usr/lib/ruby/1.8/net/ftp.rb:174:in `connect'
from /usr/lib/ruby/1.8/net/ftp.rb:136:in `initialize'
from net.rb:3:in `new'
from net.rb:3
-- Posted via http://www.ruby-forum.com/\.
Probably the OP needs to put the connection in passive mode.
/gordon
···
On Fri, 19 Oct 2007 16:29:59 +0900, Alex Gutteridge wrote:
Your code works for me, which suggests there was either a problem
with the ftp server when you tried it or there's something wrong
with your connection/firewall.