Вход/Регистрация
Интернет решения от доктора Боба
вернуться

Swart Bob

Шрифт:

Str: ShortString;

 type

TRequestMethod = (Unknown,Get,Post);

 var

RequestMethod: TRequestMethod = Unknown;

 initialization

P := GetEnvironmentStrings;

while P^ <> #0 do

begin

Str := StrPas(P);

if Pos('REQUEST_METHOD=',Str) > 0 then

begin

Delete(Str,1,Pos('=',Str));

if Str = 'POST' then RequestMethod := Post

else

if Str = 'GET' then RequestMethod := Get

end;

if Pos('CONTENT_LENGTH=',Str) = 1 then

begin

Delete(Str,1,Pos('=',Str));

ContentLength := StrToInt(Str)

end;

if Pos('QUERY_STRING=',Str) > 0 then

begin

Delete(Str,1,Pos('=',Str));

SetLength(Data,Length(Str)+1);

Data := Str

end;

Inc(P, StrLen(P)+1)

end;

if RequestMethod = Post then

begin

SetLength(Data,ContentLength+1);

for i:=1 to ContentLength do read(Data[i]);

Data[ContentLength+1] := '&';

{ if IOResult <> 0 then { skip }

end;

i := 0;

while i < Length(Data) do

begin

Inc(i);

if Data[i] = '+' then Data[i] := ' ';

if (Data[i] = '%') then { special code }

begin

Str := '$00';

Str[2] := Data[i+1];

Str[3] := Data[i+2];

Delete(Data,i+1,2);

Data[i] := Chr(StrToInt(Str))

end

end;

if i > 0 then Data[i+1] := '&'

else Data := '&'

 finalization

Data := ''

 end.

Я написал кучу CGI приложений за последний год и все они используют модуль DrBobCGI. Теперь реальное пример: стандартное CGI приложение – гостевая книга (guestbook), в которой запрашивается ваше имя и небольшой комментарий, написанное с помощью всего нескольких строк на Дельфи.

Вначале CGI форма:

<HTML>

<BODY>

<H2>Dr.Bob's Guestbook</H2>

<FORM ACTION=http://www.drbob42.com/cgi-bin/guest.exe

METHOD=POST>

Name: <INPUT TYPE=text NAME=name><BR>

Comments: <TEXTAREA COLS=42 LINES=4 NAME=comments>

<INPUT TYPE=SUBMIT VALUE="Send Comments to Dr.Bob">

</FORM>

</BODY>

</HTML>

Теперь консольное приложение:

  • Читать дальше
  • 1
  • ...
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: