Arhn - архитектура программирования

Классическая форма ASP для perl и наоборот

У меня есть страница формы 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». Я хотел бы знать, как объединить эти 2 сценария, чтобы данные из формы ASP передавались в сценарий Perl, а вывод @ver выводился обратно на экран. Я запускаю это с помощью Apache:: ASP на сервере Linux. Пожалуйста, поправьте меня, если что-то не так. Спасибо.

18.03.2014

Ответы:


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 могла вызывать сценарий perl после POST.

18.03.2014
  • Спасибо за отзыв. Я могу запустить его из командной строки. Но как я могу интегрировать ASP и perl. Какие команды использовать для вызова perl-скрипта из ASP и предоставления им «@ARGV» (в вашем случае) из ASP и печати «@ver» (в приведенном выше сценарии) на странице ASP. Спасибо. 18.03.2014
  • @deep, чтобы вызвать perl-скрипт из ASP, установите атрибут действия формы, равный имени файла perl-скрипта: <form method='post' action='yourscript.pl'>думаю, что это сработает со стороны asp; понятия не имею, что Однако perl подойдет.) Чтобы отправить значение @ver обратно в asp, вы можете выполнить перенаправление из сценария perl на свою страницу asp, добавив значение в строку запроса: youraspfile.asp?Ver=[insert @ver here]. 19.03.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..