Telnet

說明

自動執行遠端 Telnet 會話的任務。該任務使用巢狀 <read> 指示要等待的字串,並使用 <write> 標籤指定要傳送的文字。

如果您確實指定使用者 ID 和密碼,系統會假設要等待常見的 Unix 提示。此行為可以輕鬆覆寫。

注意:此任務依賴於 Apache Ant 發行版中未包含的外部函式庫。有關更多資訊,請參閱 函式庫依賴關係

參數

屬性 必要
userid Telnet 伺服器上要使用的登入 ID。 僅在指定 password
password Telnet 伺服器上要使用的登入密碼。 僅在指定 userid
server 遠端 Telnet 伺服器的位址。
port 遠端 Telnet 伺服器的埠號。 否;預設為 23
initialCR 如果為 yes,則在連線後傳送 CR。 否;預設為 no
timeout 設定預設逾時以等待回應。以秒為單位指定。 否;預設為無逾時

以巢狀元素指定參數

傳送至伺服器的命令和要等待的回應被描述為巢狀元素。

read

宣告 (作為此元素的文字子項) 要等待的字串。該元素支援 timeout 屬性,它會覆寫為整個任務指定的任何逾時。它還有一個 string 屬性,這是指定字串為文字元素的替代方法。

務必宣告開啟和關閉的 <read> 元素,以確保在連線準備就緒之前不會傳送陳述式,且在最後一個命令完成之前不會中斷連線。

write

描述要傳送至伺服器的文字。布林 echo 屬性控制字串是否回顯至本機記錄檔;預設為 true

範例

連線至伺服器並執行命令的簡單範例。這假設使用者 ID 的提示為 ogin:,密碼的提示為 assword:

<telnet userid="bob" password="badpass" server="localhost">
   <read>/home/bob</read>
   <write>ls</write>
   <read string="/home/bob"/>
</telnet>

此任務可以改寫為

<telnet server="localhost">
   <read>ogin:</read>
   <write>bob</write>
   <read>assword:</read>
   <write>badpass</write>
   <read>/home/bob</read>
   <write>ls</write>
   <read>/home/bob</read>
</telnet>

可以在 <telnet> 層級或 <read> 層級指定逾時。這將會連線、發出一個會被禁止顯示的 sleep 命令,並在結束前等待 10 秒。

<telnet userid="bob" password="badpass" server="localhost" timeout="20">
   <read>/home/bob</read>
   <write echo="false">sleep 15</write>
   <read timeout="10">/home/bob</read>
</telnet>

該任務也可以搭配其他埠使用

<telnet port="80" server="localhost" timeout="20">
   <read/>
   <write>GET / http/0.9</write>
   <write/>
   <read timeout="10">&lt;/HTML&gt;</read>
</telnet>

要對 Windows NT Telnet 服務使用此任務,您需要將服務設定為使用傳統驗證,而不是 NTLM 協商驗證。這可以在 Telnet Server Admin 應用程式中完成:選取 顯示/變更登錄設定,然後選取 NTLM,再將 NTLM 的值設定為 1。