Пособие по написанию WAP-сайтов

       

Подробнее о сценарии языка Perl WapPage.pl



Подробнее о сценарии языка Perl WapPage.pl

Как было сказано выше, каждый раз, когда пользователь выбирает опцию Send,приложение WapPage.wml запускает сценарий языка Perl, который и посылает

данные конкретному получателю сообщения. Далее, этот сценарий создает новую деку формата WML, которая после обработки браузером отображает сообщение о подтверждении отправки сообщения. Как вы увидите, для отправки сообщения просто используется электронная почта (e-mail). Исходный код сценарияWapPageWML.pl приведен ниже:

#!/usr/bin/perl

require 'DeckUtils.pl';

$mailprog = "/bin/sendmail";

# Get the CGI variables. %cgiVars = &AppUtils::ParseCGIVars(); $ReplyTo = $cgiVars{"ReplyTo"}; $SendTo = $cgiVars{"SendTo"}; $SendTo =~ s/-//g; $SendTo .= "\@messaging.sprintpcs.com"; $MsgText = $cgiVars{"MsgText"};

open(MAIL, "|$mailprog $SendTo");

print MAIL "From: Demo\@WapLib.com\n"; print MAIL "To: $SendTo\n"; print MAIL "Subject: $ReplyTo\n\n";

print MAIL "$MsgText\n";

close(MAIL);

print "Content-type: text/vnd.wap.wml\n\n"; print "&lt?xml version=\"1.0\"?&gt\n"; print "&lt!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"\n"; print "\"http://www.wapforum.org/DTD/wml_1.1.xml\"&gt\n\n"; print "&ltwml&gt\n"; print "&ltcard&gt\n"; print "&ltdo type=\"accept\"&gt\n"; print "&ltgo href=\"../WapPage/WapPage.wml\" /&gt\n"; print "&lt/do&gt\n"; print "&ltp align=\"left\"&gt\n"; print "Message has been sent to: $SendTo\n"; print "&lt/p&gt\n"; print "&lt/card&gt\n"; print "&lt/wml&gt\n";

Первая строка сценария представляет собой комментарий, сообщающий интерпретатору командной строки, где находится интерпретатор языка Perl.


Втораястрока информирует интерпретатор языка о том, что этот сценарий требуеттакже для работы сценарий языка Perl DeckUtils.pl.

Сценарий DeckUtils.pl поставляется совместно с SDK и содержит функцию РагseCGlVars, извлекающую пары данных имя/значение, которые передает сценарию карта Confirm. Далее, сценарий просто определяет символ для краткой записи, имеющий имя mailprog. После этого приложение анализирует список полученных параметров (которые передает ему карта Confirm формата WML) дляизвлечения переменных SendTo, ReplyTo и MsgText. После этого приложениезапускает почтовую программу и использует print для адресации собщения, ввода текста сообщения и так далее. Как было сказано, сценарий всего лишь пересылает почту на телефоны Sprint PCS. Если вы проанализируете исходный код, выувидите, что он присоединяет адрес электронной почты@messaging.sprintpcs.com к адресу SendTo:

$SendTo .= "\@messaging.sprintpcs.com";

Далее, сценарий закрывает почтовую программу, которая сама посылает сообщение получателю. После этого он создает новую деку, которая отображает дляпользователя посланное сообщение. Сценарий пересылает сообщения посредством сети Sprint PCS. Для передачи сообщения пользователю, используещему услуги другого провайдера, вы должны знать адрес для сообщений этому провайдеру и необходимый формат данных. К примеру, компания AT&T использует 10-значный номер телефона, такой же, как и Sprint. К ней вы можете обратиться поадресу @mobile.att.net.

Содержание раздела