<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Apache Ant User Manual</title>
</head>

<body>

<h2><a name="telnet">Telnet</a></h2>
<h3>Description</h3>
Task to automate a remote telnet session. The task uses nested &lt;read&gt; to indicate strings to wait for, and  &lt;write&gt; tags to specify text to send.  

<p>If you do specify a userid and password, the system will assume a common unix prompt to wait on. This behavior can be easily over-ridden.</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <th>Attribute</th>
    <th>Values</th>
    <th>Required</th>
  </tr>
  <tr>
     <td>userid</td>
     <td>the login id to use on the telnet server.</td>
     <td>No</td>
  </tr>
  <tr>
     <td>password</td>
     <td>the login password to use on the telnet server.</td>
     <td>No</td>
  </tr>
  <tr>
     <td>server</td>
     <td>the address of the remote telnet server.</td>
     <td>Yes</td>
  </tr>
  <tr>
     <td>port</td>
     <td>the port number of the remote telnet server. Defaults to port 23.</td>
     <td>No</td>
  </tr>
  <tr>
     <td>initialCR</td>
     <td>send a cr after connecting (&quot;yes&quot;). Defaults to &quot;no&quot;.</td>
     <td>No</td>
  </tr>
  <tr>
     <td>timeout</td>
     <td>set a default timeout to wait for a response. Specified in seconds. Default is no timeout.</td>
     <td>No</td>
  </tr>
</table>
<h3>Examples</h3>
A simple example of connecting to a server and running a command.  This assumes a prompt of &quot;ogin:&quot; for the userid, and a prompt of &quot;assword:&quot; for the password.
<blockquote><pre>
&lt;telnet userid=&quot;bob&quot; password=&quot;badpass&quot; server=&quot;localhost&quot;&gt;
   &lt;read&gt;/home/bob&lt;/read&gt;
   &lt;write&gt;ls&lt;/write&gt;
   &lt;read string=&quot;/home/bob&quot;/&gt;
&lt;/telnet&gt;
</pre></blockquote>

This task can be rewritten as:
<blockquote><pre>
&lt;telnet server=&quot;localhost&quot;&gt;
   &lt;read&gt;ogin:&lt;/read&gt;
   &lt;write&gt;bob&lt;/write&gt;
   &lt;read&gt;assword:&lt;/read&gt;
   &lt;write&gt;badpass&lt;/write&gt;
   &lt;read&gt;/home/bob&lt;/read&gt;
   &lt;write&gt;ls&lt;/write&gt;
   &lt;read&gt;/home/bob&lt;/read&gt;
&lt;/telnet&gt;
</pre></blockquote>

A timeout can be specified at the &lt;telnet&gt; level or at the &lt;read&gt; level. This will connect, issue a sleep command that is suppressed from displaying and wait 10 seconds before quitting.
<blockquote><pre>
&lt;telnet userid=&quot;bob&quot; password=&quot;badpass&quot; server=&quot;localhost&quot; timeout=&quot;20&quot;&gt;
   &lt;read&gt;/home/bob&lt;/read&gt;
   &lt;write echo=&quot;false&quot;&gt;sleep 15&lt;/write&gt;
   &lt;read timeout=&quot;10&quot;&gt;/home/bob&lt;/read&gt;
&lt;/telnet&gt;
</pre></blockquote>

The task can be used with other ports as well:
<blockquote><pre>
&lt;telnet port=&quot;80&quot; server=&quot;localhost&quot; timeout=&quot;20&quot;&gt;
   &lt;read/&gt;
   &lt;write&gt;GET / http/0.9&lt;/write&gt;
   &lt;write/&gt;
   &lt;read timeout=&quot;10&quot;&gt;&amp;lt;/HTML&amp;gt;&lt;/read&gt;
&lt;/telnet&gt;
</pre></blockquote>
<hr>
<p align="center">Copyright &copy; 2000,2001 Apache Software Foundation. All rights
Reserved.</p>

</body>
</html>