zl1168 发表于 2013-12-21 20:15:30

怎样在AU3中运行TELNET命令管理服务器

怎样在AU3中运行TELNET命令管理服务器?比如我要首先TELNET进服务器,telnet 192.168.1.1然后输入账号root 密码casa,然后再运行命令enbale,回车在运行命令show run 然后运行exit,请高手帮忙给写下代码,谢谢了

autotask 发表于 2013-12-21 20:55:54

Run("telnet.exe 192.168.1.1")
WinWaitActive("Telnet 192.168.1.1")
Send("root")
Send("{ENTER}")
Send("casa")
Send("{ENTER}")
Send("enable")
Send("{ENTER}")
Send("show run")
Send("{ENTER}")
Send("exit")
Send("{ENTER}")

zl1168 发表于 2013-12-22 11:36:53

謝謝樓上的,你那是模擬操作,能不能幫忙寫一個代碼就是在后台操作的,谢谢了。高手在哪里?热心的人在哪里呀

zl1168 发表于 2013-12-22 11:37:03

謝謝樓上的,你那是模擬操作,能不能幫忙寫一個代碼就是在后台操作的,谢谢了。高手在哪里?热心的人在哪里呀

lpxx 发表于 2013-12-23 09:05:18

给你个参考#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
TCPStartup()
GUICreate("Telnet客户端", 500, 390, -1, -1, BitOr($WS_THICKFRAME, $WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU) )
$EDIT = GUICtrlCreateEdit("", 10, 10, 480, 330, $GUI_SS_DEFAULT_EDIT + $ES_READONLY)
GUICtrlSetFont(-1, 10, 0, -1, "Courier New")
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
$INPUT = GUICtrlCreateInput("", 10, 360, 480, 20)
GUICtrlSetResizing(-1, 582)
$HOSTI =InputBox("Telnet客户端", "请输入您要连接到的主机名", "172.16.28.1")
$PORTI =InputBox("Telnet客户端", "请输入端口的主机", "23")
GUISetState()
ControlSend("Telnet客户端", "", $EDIT, "{TAB}")
$HOST = TCPNameToIP($HOSTI)
$CONECTION = TCPConnect($HOST, $PORTI)
If @error Then Exit
While 1
    $MSG = GUIGetMsg()
    If $MSG = $GUI_EVENT_CLOSE And (MsgBox(36, "Telnet登录", "你真的要退出么?") = 6) Then Exit
    $RECV = TCPRecv($CONECTION, 2048)
    If $RECV <> "" Then
      $RECV = StringReplace($RECV, @LF, @CRLF)
      $RECV = StringReplace($RECV, @CRLF & @CR, @CRLF)
      $TEXT = GUICtrlRead($EDIT)
      GUICtrlSetData($EDIT, $TEXT & $RECV)
      GUICtrlSendMsg($EDIT, 183, 0, 0)
    EndIf
    If $MSG = $INPUT Then
      $TEXT = GUICtrlRead($EDIT)
      $EINGABE = GUICtrlRead($INPUT)
      GUICtrlSetData($EDIT, $TEXT & $EINGABE & @CRLF)
      GUICtrlSetData($INPUT, "")
      TCPSend($CONECTION, $EINGABE & Chr(10))
      If @error Then
            MsgBox(0, "Telnet登录", "错误 - 退出")
            Exit
      EndIf
      GUICtrlSendMsg($EDIT, 183, 0, 0)
    EndIf
WEnd

Func ONAUTOITEXIT()
    TCPCloseSocket($CONECTION)
    TCPShutdown()
EndFunc

ak47gglllk 发表于 2013-12-25 09:31:46

膜拜楼上的强人,非常感谢。学习了。

ioripalm 发表于 2013-12-27 12:57:32

楼上的方式只适用于简单的服务器类型,我试了vt220等字符串term的服务器都只能返回:“?”
页: [1]
查看完整版本: 怎样在AU3中运行TELNET命令管理服务器