Telnet到Scounix执行并取得结果

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

前一段做了一个监控程序,触发事件后实现telnet到Sco unix执行命令并取得命令结果,想了几天终于完成,特和大家分享:

一、安装TelnetTool控件(提供下载)

二、VFP代码部分:

LOCAL telnet1

telnet1=CREATEOBJECT("Dart.Telnet.1")

Telnet1.Timeout = 100

Telnet1.TermType = "vt100"

False=.t.

True=.t.

vbCrLf=CHR(13)+CHR(10)

** logfile = "Host" + HostIP + ".log"

** Telnet1.Trace(logfile, False, True, vbCrLf + "---> ", vbCrLf + "<--- ")

thisform.AddLog(Tsys_kind,"正在连接主机 " + HostIP + " ..." + vbCrLf)

ok = Telnet1.Connect(HostIP, 23)

IF ok=""

thisform.AddLog(Tsys_kind,"银联前置["+HostIP+"]连接失败!同银联中心链路无法检查。")

thisform.showinfo("99","错误:银联前置连接失败!")

thisform.warn

thisform.command4.Picture="deng3.gif"

thisform.command4.refresh

telnet1.close

RETURN

ELSE

telnet1.close

Telnet1.Timeout = 10000

Telnet1.Connect(HostIP, 23)

ENDIF

thisform.AddLog(Tsys_kind,"已连接" + vbCrLf) Data = "" Telnet1.Search (@Data, "login:") * thisform.AddLog( Tsys_kind,Data) Telnet1.Send(User_name + vbCrLf)

Data = "" Telnet1.Search(@Data, "Password:")

* thisform.AddLog(Tsys_kind,Data) Telnet1.Send (User_pwd + vbCrLf)

Data = "" Telnet1.Search(@Data, ">")

* thisform.AddLog(Tsys_kind,Data) Telnet1.Send ("su" + vbCrLf)

Telnet1.Search (@Data, "Password:")

* thisform.AddLog(Tsys_kind,data)

Telnet1.Send(root_pwd + vbCrLf)

Telnet1.Search(@Data, "#")

* thisform.AddLog(Tsys_kind,Data) Telnet1.Send(shell_cmd + vbCrLf)

Telnet1.Search(@Data, "#")

* thisform.AddLog(Tsys_kind,data)

***************取出的数据

ok = VAL(STREXTRACT(data,"/","/",3))

IF ok>WP04 && Warn Point

thisform.showinfo("01","★警告:银联中心网络延时[9.234.12.21]!当前值:"+ALLTRIM(STR(ok,10,2))+"设定值:"+ALLTRIM(STR(WP04,10,2)))

thisform.addlog(Tsys_kind,"★警告:银联中心网络延时[9.234.12.21]!当前值:"+ALLTRIM(STR(ok,10,2))+"设定值:"+ALLTRIM(STR(WP04,10,2)))

......&&触发事件

ENDIF

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航