gpt4 book ai didi

asp.net - 经典的 ASP 形式到 perl,反之亦然

转载 作者:行者123 更新时间:2023-12-05 01:26:54 25 4
gpt4 key购买 nike

我有一个sample.asp表单页面,写法如下:

<form method="POST" action="index.asp">
<p>Switch IP:<input type="test" name="SwitchIP"></p>
<p>Login: <input type="test" name="Login"></p>
<p>Password:<input type="password" name="Password"></p>
<p><input type="submit" value="Submit" name="B1"><p>
</form>

使用提交按钮占用三个输入变量ip、login和password。

我有一个 perl 脚本,如下所示:

#!/usr/bin/perl -w
use strict;
use Net::Telnet::Cisco;

my $SwitchIP = '192.168.10.1';

my $session = Net::Telnet::Cisco->new(Host => $host, -Prompt=>'/(?m:^[\w.&-]+\s?(?:\ (config[^\)]*\))?\s?[\$#>]\s?(?:\(enable\))?\s*$)/');

$session->login(Name => 'admin',Password => 'password');
$session->cmd('terminal length 0');
my @ver = $session->cmd('show mac-address-table dynamic');
print @ver;
$session->close();

此脚本在 cisco 交换机上运行并打印出“show mac-address-table dynamic”命令。我想知道如何组合这 2 个脚本,以便将来自 ASP 表单的数据馈送到 perl 脚本,并将 @ver 输出打印回屏幕上。我在 Linux 服务器上使用 Apache::ASP 运行它。如果有任何不正确的地方,请纠正我。谢谢。

最佳答案

第 1 步,使您的 perl 脚本可以接受参数。可能需要为此添加一些错误检查。

#!/usr/bin/perl -w
use strict;
use Net::Telnet::Cisco;

my ($host, $name, $password) = @ARGV;

my $session = Net::Telnet::Cisco->new(Host => $host, -Prompt=>'/(?m:^[\w.&-]+\s?(?:\ (config[^\)]*\))?\s?[\$#>]\s?(?:\(enable\))?\s*$)/');

$session->login(Name => $name,Password => $password);
$session->cmd('terminal length 0');
my @ver = $session->cmd('show mac-address-table dynamic');
print @ver;
$session->close();

第 2 步,测试以确保它可以从命令行运行:

perl yourscript.pl 192.168.10.1 admin password

第 3 步,使 ASP 表单可以在 POST 时调用 perl 脚本。

关于asp.net - 经典的 ASP 形式到 perl,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22468661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com