自動執行遠端 Telnet 會話的任務。該任務使用巢狀 <read>
指示要等待的字串,並使用 <write>
標籤指定要傳送的文字。
如果您確實指定使用者 ID 和密碼,系統會假設要等待常見的 Unix 提示。此行為可以輕鬆覆寫。
注意:此任務依賴於 Apache Ant 發行版中未包含的外部函式庫。有關更多資訊,請參閱 函式庫依賴關係。
屬性 | 值 | 必要 |
---|---|---|
userid | Telnet 伺服器上要使用的登入 ID。 | 僅在指定 password 時 |
password | Telnet 伺服器上要使用的登入密碼。 | 僅在指定 userid 時 |
server | 遠端 Telnet 伺服器的位址。 | 是 |
port | 遠端 Telnet 伺服器的埠號。 | 否;預設為 23 |
initialCR | 如果為 yes,則在連線後傳送 CR。 |
否;預設為 no |
timeout | 設定預設逾時以等待回應。以秒為單位指定。 | 否;預設為無逾時 |
傳送至伺服器的命令和要等待的回應被描述為巢狀元素。
宣告 (作為此元素的文字子項) 要等待的字串。該元素支援 timeout 屬性,它會覆寫為整個任務指定的任何逾時。它還有一個 string 屬性,這是指定字串為文字元素的替代方法。
務必宣告開啟和關閉的 <read>
元素,以確保在連線準備就緒之前不會傳送陳述式,且在最後一個命令完成之前不會中斷連線。
描述要傳送至伺服器的文字。布林 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"></HTML></read> </telnet>
要對 Windows NT Telnet 服務使用此任務,您需要將服務設定為使用傳統驗證,而不是 NTLM 協商驗證。這可以在 Telnet Server Admin 應用程式中完成:選取 顯示/變更登錄設定
,然後選取 NTLM
,再將 NTLM 的值設定為 1。