Имитация ввода с помощью переменных оболочки

imitaciya vvoda s pomoshhju peremennyh obolochki Сценарии на стороне сервера

Если вы легко работаете с командной оболочкой, то на некоторых платформах можно также протестировать сценарии CGI из командной строки, установив переменные окружения так же, как это делают серверы HTTP, и затем запуская свой сценарий. Например, можно прикинуться веб-сервером, записав входные параметры в переменную окружения QUERY_STRING, применив тот же синтаксис, который используется в конце строки URL после ?:

$ setenv QUERY_STRING "name=Mel&job=trainer,+writer"

$ python tutor5.py

Content type: text/html

<TITLE>tutor5.py<?TITLE>

<H1>Greetings</H1>

<HR>

<  H4>Your name is Mel</H4>

<  H4>You wear rather (unknown) shoes</H4>

<  H4>Your current job: trainer, writer</H4>

<  H4>You program in (unknown)</H4>

<  H4>You also said:</H4>

<P>(unknown)</P>

<  HR>

Здесь мы имитируем отправку формы в стиле GET или явную передачу параметров в адресе URL. Серверы HTTP помещают строку запроса (параметры) в переменную оболочки QUERY_STRING. Модуль Python cgi обнаруживает их там, как если бы они были переданы броузером. Передачу данных в стиле POST тоже можно имитировать с помощью переменных оболочки, но это сложнее, и лучше было бы не пытаться узнать, как это сделать. В действительности имитация ввода с помощью объектов Python (как в formMockup.py) должна работать надежнее. Но для некоторых сценариев CGI могут существовать дополнительные ограничения окружения или тестирования, требующие особой обработки.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий