ASP网站制作之怎样在ASP程序中利用Telnet协定
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。程序 1计划背景愈来愈多的企业在创建本人的WEB站点时选择了基于微软的构架。Windows操纵体系、IISWEBServer和ASP手艺失掉了普遍的利用。但良多企业的收集中存在大批的UNIX主机,招致我们常常但愿在扫瞄器中完成对UNIX体系资本的会见和把持,比方:经由过程扫瞄器检察UNIX体系中的用户历程、检察收集形态、乃至完成杀逝世一个历程如许的把持操纵。之前我们能够经由过程Telnet程序远程登录到UNIX主机上,输出用户名和口令,并在命令行体例下输出命令。经由过程ASP中的ActiveX控件编程,我们一样可使用Telnet协定会见UNIX主机,如许,UNIX体系中的资本就能够在B/S情况中失掉加倍充实的使用。
2控件的功效
本文要先容的控件是美国DartCommunications公司开辟的PowerTCPTools控件组中的TelnetToolActiveX控件。它撑持VisualStudio、ASP、Office97(VBA)、C++Builder、Delphi、PowerBuilder等开辟情况。
它能够办理Telnet,rsh,rexec和rlogin毗连,供应了创建、利用和停止会话的办法,撑持主动选项协商,如终端范例、回显形式、窗口巨细等,利用者不用体贴协定完成细节,极年夜的简化了利用这些协定的编程难度。控件能够和UNIX主机、路由器、终端服务器等设备间接举行Telnet通讯,并撑持直接的Telnet会见。
3控件的ASP编程办法
TelnetToolActiveX控件的利用极为复杂,上面先容它的次要属性和办法。
TermType属性:指定终端范例,如ANSI、VT320等,能够关照UNIX主机客户端所仿真的终端范例。
Timeout属性:当设定为0值时,控件利用非堵塞体例把持会话。当设定为年夜于0的值时,控件利用堵塞体例把持会话,Timeout暗示超时设定,单元为毫秒。
State属性:前往TCP毗连形态。
Connect办法:创建一个毗连,格局为:
Object.ConnectRemoteName[,RemotePort][,LocalName][,LocalPort]。个中RemoteName为要毗连的UNIX主机的名字或IP地点。RemotePort为要毗连的UNIX主机的端标语,缺省为23,是尺度的telnet端口。LocalName和LocalPort为当地主机名和端口,一样平常能够省略。
Close办法:封闭一个毗连,格局为Object.Close
Send办法:在毗连创建后,发送数据。格局为:
Object.SendData。Data为要发送给UNIX主机的数据。
Serach办法:承受UNIX主机前往的数据,并在数据流中寻觅指定的停止标记,了局包含到停止标记为止的一切前往数据。假如在Timeout划定的工夫内未失掉指定的停止标记,则发生超时毛病。格局为:Object.SearchData,Token。Data中保留前往了局,Token指定了却束标记字符串。
4编程实例
上面是一个复杂的TelnetToolActiveX控件的ASP编程实例。实行情况是:Windows2000Professional、IIS5.0、SCOOpenServer5.0.2和TelnetToolActiveX控件。TelnetToolActiveX控件能够在www.dart.com下载30天试用版,只必要安装在WEB服务器上。
程序其实不庞大,登录到一个SCOUNIX体系后,实行了2条命令,命令的了局显现在扫瞄器页面上。
HTML
HEADTITLEPowerTCPTelnetToolDemoPage/TITLE/HEAD
BODY
*******************************************************************
Program:PowerTCPTelnetToolDemo
Author:Yin
Date:07/16/2001
Purpose:TodemonstratehowtologinintoaSCOUNIXserver.
********************************************************************}
<P> SubDoLogin()
Session(RESULT)=
OnErrorResumeNext
CreateaTelnetcontrol
DimTelnet1
SetTelnet1=Server.CreateObject(Dart.Telnet.1)
Usea10secondtimeout
Telnet1.Timeout=10000
Specifiesterminaltype
Telnet1.TermType=ansi
AddResultConnectingto+txtHost+...+vbCrLf
Connecttothehostonport23
Telnet1.ConnecttxtHost,23
Dimastringtobeusedbythesearchmethod
DimData
Data=
Searchforloginprompt
Telnet1.SearchData,txtLoginPrompt
AddResultData
Sendusername
Telnet1.SendtxtUser+vbCrLf
Searchforpasswordprompt
Telnet1.SearchData,txtPassPrompt
AddResultData
Sendpassword
Telnet1.SendtxtPass+vbCrLf+vbCrLf
Searchforcommandprompt
Telnet1.SearchData,txtCommandPrompt
AddResultData
Sendcommand
Telnet1.Sendps+vbCrLf
Searchforcommandprompt
Telnet1.SearchData,txtCommandPrompt
AddResultData
Sendcommand
Telnet1.Sendnetstat-rn+vbCrLf
Searchforcommandprompt
Telnet1.SearchData,txtCommandPrompt
AddResultData
Closetheconnection
Telnet1.Close
IfErr.number=0then
AddResultvbCrLf+Disconnecting...SUCCESS!
Else
Displayinfoabouttheerror
AddResultvbcrlf+ERROR#+CStr(Err.number)+:+Err.Description
Endif
Response.WriteSession(RESULT)
EndSub
PrivateSubAddResult(s)
Session(RESULT)=Session(RESULT)+ReadyForHtml(s)
EndSub
SubstituteescapecodesforsomeoftheHTMLreservedcharacters
FunctionReadyForHtml(Data)
OnErrorResumeNext
ReadyForHtml=Data
ReadyForHtml=Replace(ReadyForHtml,,gt;)
ReadyForHtml=Replace(ReadyForHtml,,lt;)
ReadyForHtml=Replace(ReadyForHtml,,nbsp;)
ReadyForHtml=Replace(ReadyForHtml,vbCrLf,brnbsp;)
ReadyForHtml=Replace(ReadyForHtml,vbCrLf,br)
EndFunction
DimtxtHost
DimtxtLoginPrompt
DimtxtUser
DimtxtPassPrompt
DimtxtPass
DimtxtCommandPrompt
txtHost=192.0.1.6
txtLoginPrompt=login:
txtUser=root
txtPassPrompt=Password
txtPass=hp123
txtCommandPrompt=#
DoLogin() 5小结
经由过程利用TelnetToolActiveX控件,我们能够在ASP程序中登录到UNIX体系上,轻松地完成良多命令行操纵。相似的,我们也能够完成经由过程扫瞄器检察CISCO路由器、互换机中的收集设置和运转形态。
企业的防火墙设置一样平常来讲应当克制从内部网间接远程登录到外部的UNIX主机上,可是我们能够经由过程在扫瞄器上复杂的点击选择特定的操纵,由WEBServer真个ASP程序登录到UNIX主机上完成指定操纵,在便利办理的同时增添了体系的平安性。
固然,我们在ASP编程中应当随时思索到平安性成绩,特别是要制止失慎酿成的ASP源代码和UNIX口令的保守。
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 掌握asp的特性而且一定要知道为什么。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
页:
[1]