Forum: Telnet Hangs During Login

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
George M. (Guest)
on 2009-06-09 00:48
This is cross-posted on stackoverflow if you want points/nice syntax

I am trying to do some basic scripting using ruby to log in to a windows
machine via telnet and pull some files over using the dos command line
ftp.  When I do this manually everything goes swimmingly but when I try
it via ruby I'm getting an error in the login call.

Here is my test program in its entirety:

    require 'net/telnet'
    tn = Net::Telnet::new("Host"=>"", "Timeout"=>25,
"Output_log"=>"output_log.log", "Dump_log"=> "dump_log.log",
    tn.login("administrator", "xxxxxxx") {}

The contents of output_log don't betray anything as being wrong:

    Connected to
    Welcome to Microsoft Telnet Service
    login: administrator
    Welcome to Microsoft Telnet Server.
    C:\Documents and Settings\Administrator>

Same for the dump_log which has very similar but awkwardly formatted
contents.  When I run the program it sits around for a while and then
outputs the following error:

    PS C:\code\tools\deployment> ruby test.rb
    C:/Ruby/lib/ruby/1.8/net/telnet.rb:551:in `waitfor': timed out while
waiting for more data (Timeout::Error)
            from C:/Ruby/lib/ruby/1.8/net/telnet.rb:685:in `cmd'
            from C:/Ruby/lib/ruby/1.8/net/telnet.rb:730:in `login'
            from test.rb:3

Which leads me to suspect that the telnet class is not recognizing the
command prompt.  I've tried several different regex strings for the
Prompt parameter, including the default and nothing seems to help.
This topic is locked and can not be replied to.