【问题标题】:Classic ASP form to perl and vice-versa经典的 ASP 形式到 perl,反之亦然
【发布时间】:2014-03-18 20:56:53
【问题描述】:

我有一个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、登录名和密码。

我有一个 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”命令。我想知道如何组合这两个脚本,以便将来自 ASP 表单的数据馈送到 perl 脚本,并将 @ver 输出打印回屏幕上。 我在 Linux 服务器上使用 Apache::ASP 运行它。 如果有任何不正确的地方,请纠正我。谢谢。

【问题讨论】:

    标签: asp.net perl asp-classic


    【解决方案1】:

    第 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 和 perl。使用哪些命令从 ASP 调用 perl 脚本并从 ASP 给他们“@ARGV”(在您的情况下)并将“@ver”(在上述脚本中)打印到 ASP 页面。谢谢。
    • @deep,要从 ASP 调用 perl 脚本,请将表单的 action 属性设置为等于 perl 脚本的文件名:&lt;form method='post' action='yourscript.pl'&gt;(我 认为 那'将从 asp 端开始工作;但不知道 perl 将如何处理它。)要将 @ver 值发送回 asp,您可以从 perl 脚本重定向到您的 asp 页面,并将值添加到查询字符串:youraspfile.asp?Ver=[insert @ver here].
    猜你喜欢
    • 2018-10-07
    • 2011-06-24
    • 2014-11-08
    • 2012-02-16
    • 2013-08-16
    • 2012-06-27
    • 2017-02-05
    • 2012-12-01
    相关资源
    最近更新 更多