Internet и CGI


         

создает сокет, тип которого определен


Как мы видим (рис.6), файл Flash finan.swf выводит в HTML-страницу информационную вставку и идеология разделения CGI-программы и дизайна не нарушена.



Рис. 4.

Программа CGI показана ниже:

#!/usr/bin/perl use IO::Socket; print "Pragma: no-cache\nCache-control: no-cache\nContent-type: text/plain\n"; $port="80"; my $host="www.my_forex.com"; my $file; $valuta="EURUSD"; $file = "/rate/simulation.html"; socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')); $iaddr = inet_aton($host); $paddr = sockaddr_in($port, $iaddr); connect(SOCK, $paddr); send (SOCK, "GET $file HTTP/1.0\nHOST:$host\n\n", 0); @data=<SOCK>; close(SOCK); $answer = join("",@data); ($etc,$iter1)=split(/$valuta/,$answer); $met='</SPAN>'; @iter2=split(/$met/,$iter1); @iter3=split(/>/,$iter2[0]); @iter4=split(/>/,$iter2[1]); ($sec, $min, $hour, $day, $month, $year, $wday, $yday, $isdst) = gmtime(time); if($sec < 10){$sec="0".$sec;} if($min < 10){$min="0".$min;} if($hour < 10){$hour="0".$hour;} $my_time=$hour.":".$min.":".$sec; print "\nmy_bid=".$iter3[3].'&my_ask='.$iter4[3].'&my_time='.$my_time; exit;

Функция socket() создает сокет, тип которого определен как потоковый - SOCK_STREAM. После конвертации имени сокета (более удобного представления для сервера), создается соединение с помощью функции connect( ). Предварительно с помощью переменных $host и $file задаются имя сервера и имя ресурса, соответственно. Для передачи данных через сокет используется функция send( ), а для приема данных через сокет - известная процедура: @data=<SOCK>. После закрытия сокета идет разбор принятых данных ресурса simulation.html:

<html> <head> <title>Rates</title> </HEAD> <SPAN class="textP" style="font:bold 11px">My Forex Group</SPAN> <BODY leftmargin="2" topmargin="0"> <SPAN id="tRates"> <TABLE width='265' height='84' border='0'cellspacing='0' cellpadding='0'> <TR><td valign='top' background='/images/home/rateb.gif'> <table class='rate' width='260' border='0' cellspacing='1' cellpadding='1' height='2'> <TR><TD class='rLeft'>Rate</TD><TD class='rLeft'>Bid</TD> <TD class='rLeft'>Ask</TD><TD class='rLeft'>Time</TD> </TR> <TR><TD class='rLeft' bgcolor='#41638A'>EURUSD</TD> <TD bgcolor=#CCD2DA><SPAN class='up'>0.9807</SPAN></TD> <TD bgcolor=#CCD2DA><SPAN class='up'>0.9812</SPAN></TD> <TD nowrap bgcolor=#CCD2DA><span class='rTime'>07/31/02 11:03:04</SPAN></TD> </TR> <TR><TD class='rLeft' bgcolor='#41638A'>USDJPY</TD> <TD><SPAN class='down'>119.65</SPAN></TD> <TD><SPAN class='down'>119.70</SPAN></TD> <TD nowrap><span class='rTime'>07/31/02 11:03:04</SPAN></TD> </TR> <TR><TD class='rLeft' bgcolor='#41638A'>GBPUSD</TD> <TD bgcolor=#CCD2DA><SPAN class='up'>1.5628</SPAN></TD> <TD bgcolor=#CCD2DA><SPAN class='up'>1.5633</SPAN></TD> <TD nowrap bgcolor=#CCD2DA><span class='rTime'>07/31/02 11:03:54</SPAN></TD> </TR><TR><TD class='rLeft' bgcolor='#41638A'>USDCHF</TD> <TD><SPAN class='up'>1.4815</SPAN></TD> <TD><SPAN class='up'>1.4820</SPAN></TD> <TD nowrap><span class='rTime'>07/31/02 11:03:52</SPAN></TD></TR></Table></TD> </TR></TABLE> </SPAN> </Body> </html>


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий