我们宿舍经常要重启宽带猫,华为的,我刚好写了一个跟你的要求差不多的,发给你参考一下吧加个 ClientSocket1 控件在窗体上,端口设置为23,IP为交换机的IP,active为True 再加个Memo1来显示提示信息, 双击 ClientSocket1 的 OnRead 事件进去,编写代码如下即可:procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var rcv:string; begin rcv:=socket.ReceiveText; //接收交换机发来的数据 Memo1.Lines.Append(rcv); //把接收的显示出来 if pos('login:',rcv)>0 then //如果有login:字符串就说明要输入用户名了,对不同的机子可以改成相对应的。 begin socket.SendText('admin'+#13+#10);//发送用户名 end else if pos('password:',rcv)>0 then//如果要求输入密码 begin socket.SendText('311admin'+#13+#10);//发送密码 end else if pos('Login Successful',rcv)>0 then//如果提示登录成功,下面就可以发命令了 begin socket.SendText('reboot'+#13+#10);//这里你改为你的命令delete就可以了 Memo1.Lines.Append('重启成功!会掉线几秒钟,请稍等'); sleep(3000);//等几秒钟 application.Terminate;//退出程序 end; end;
不行啊!那如果我想实现如下的telnet 的命令应该怎么做呢?telnet 10.2.56.14 进入到如下命令 HammerOS Version 1.4(Build 0113) on uHammer2824.Login: admin Password:xue_16> en Password:xue_16(config)# delete fdbentry 000000000000 如何编写
提示一下,不能公布代码如果要以后经常使用的话,建议采用脚本方法具体的记不清楚了 肯定有一个readtimeout 类似的,比如当 你设置的readtimeout 为100 ms 当 它报read time out 错误的话,就基本证明 服务器在等待你输入内容 你可以获取到接受的字符,判断是否为 你所需要的开头,如果是,就把你输入的内容发送的服务器端,如此循环,直到你输入完成或者必能匹配你下一步操作的前标
telnet <cmd.txt
再加个Memo1来显示提示信息,
双击 ClientSocket1 的 OnRead 事件进去,编写代码如下即可:procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
rcv:string;
begin
rcv:=socket.ReceiveText; //接收交换机发来的数据
Memo1.Lines.Append(rcv); //把接收的显示出来
if pos('login:',rcv)>0 then //如果有login:字符串就说明要输入用户名了,对不同的机子可以改成相对应的。
begin
socket.SendText('admin'+#13+#10);//发送用户名
end
else if pos('password:',rcv)>0 then//如果要求输入密码
begin
socket.SendText('311admin'+#13+#10);//发送密码
end
else if pos('Login Successful',rcv)>0 then//如果提示登录成功,下面就可以发命令了
begin
socket.SendText('reboot'+#13+#10);//这里你改为你的命令delete就可以了
Memo1.Lines.Append('重启成功!会掉线几秒钟,请稍等');
sleep(3000);//等几秒钟
application.Terminate;//退出程序
end;
end;
楼上就是正解。。
我来接分。。代码就不写了。利用先人的经验吧
进入到如下命令
HammerOS Version 1.4(Build 0113) on uHammer2824.Login: admin
Password:xue_16> en
Password:xue_16(config)# delete fdbentry 000000000000
如何编写
你可以获取到接受的字符,判断是否为 你所需要的开头,如果是,就把你输入的内容发送的服务器端,如此循环,直到你输入完成或者必能匹配你下一步操作的前标