学院首页>操作系统>Linux>Telnet到Sco unix执行命令并取得结果

Telnet到Sco unix执行命令并取得结果

作者:Air_Fish 来源:chinaunix 添加时间:2006-5-26 14:01:52

前一段做了一个监控程序,触发事件后实现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
(e129)

站内搜索