Bob Swart - Интернет решения от доктора Боба

Здесь есть возможность читать онлайн «Bob Swart - Интернет решения от доктора Боба» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Интернет решения от доктора Боба: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Интернет решения от доктора Боба»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Интернет решения от доктора Боба — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Интернет решения от доктора Боба», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Вот код нашего первого "Hello, world!" CGI приложения:

programCGI1;

{$APPTYPE CONSOLE}

begin

writeln('content-type: text/html');

writeln;

writeln('

writeln('

writeln('Hello, world!');

writeln('

writeln('

end.

Если вы откомпилируете данную программу в Дельфи 2 или 3 и затем запустите ее из web браузера подключенного к web серверу, где оно записано в исполнимом виде в исполняемом каталоге таком как cgi-bin, то вы увидите текст "Hello, world!" на странице.

1.3.5. CGI ввод

Теперь, мы знаем как создавать CGI приложение, которое может генерировать динамическую HTML страницу (или в действительности почти статическую). Но как насчет ввода ? Здесь более чем одно действие: мы должны проверять переменную DOS 'CONTENT LENGTH' что бы знать как много символов мы можем прочитать со стандартного ввода (если мы попытаемся читать больше чем есть, то мы повиснем навсегда). Конечно, это широко известный факт. Я написал компонент TBDosEnvironmentчтобы вы могли иметь доступ до переменных среды DOS:

unitDrBobDOS;

interface

uses

SysUtils, WinTypes, WinProcs, Classes;

type

TBDosEnvironment = class(TComponent)

public

{ Public class declarations (override) }

constructorCreate(AOwner: TComponent); override;

destructorDestroy; override;

private

{ Private field declarations }

FDosEnvList: TStringList;

procedureDoNothing( constValue: TStringList);

protected

{ Protected method declarations }

Dummy: Word;

functionGetDosEnvCount: Word;

public

{ Public interface declarations }

functionGetDosEnvStr( constName: String): String;

{ This function is a modified version of the GetEnvVar function thatappears in the WinDos unit that comes with Delphi. This function's interface uses Pascal strings instead of null-terminated strings.

}

published

{ Published design declarations }

propertyDosEnvCount: Word readGetDosEnvCount writeDummy;

propertyDosEnvList: TStringList readFDosEnvList writeDoNothing;

end;

implementation

constructorTBDosEnvironment.Create(AOwner: TComponent);

var

P: PChar;

begin

inheritedCreate(AOwner);

FDosEnvList := TStringList.Create;

{$IFDEF WIN32}

P := GetEnvironmentStrings;

{$ELSE}

P := GetDosEnvironment;

{$ENDIF}

whileP^ <> #0 do

begin

FDosEnvList.Add(StrPas(P));

Inc(P, StrLen(P)+1) { Fast Jump to Next Var }

end;

end {Create} ;

destructorTBDosEnvironment.Destroy;

begin

FDosEnvList.Free;

FDosEnvList := nil;

inheritedDestroy

end {Destroy} ;

procedureTBDosEnvironment.DoNothing( constValue: StringList);

begin

end {DoNothing} ;

functionTBDosEnvironment.GetDosEnvCount: Word;

begin

ifAssigned(FDosEnvList) then

Result := FDosEnvList.Count

else

Result := 0;

end {GetDosEnvCount} ;

functionTBDosEnvironment.GetDosEnvStr( constName: String): String;

var

i: Integer;

Tmp: String;

begin

i := 0;

Result := '';

ifAssigned(FDosEnvList) then whilei < FDosEnvList.Count do

begin

Tmp := FDosEnvList[i];

Inc(i);

ifPos(Name,Tmp) = 1 then

begin

Delete(Tmp,1,Length(Name));

ifTmp[1] = '=' then

begin

Delete(Tmp,1,1);

Result := Tmp;

i := FDosEnvList.Count { end while-loop }

end

end

end

end {GetDosEnvStr} ;

end.

Здесь список переменных среды (предоставленный Deepak Shenoy), которые доступны для CGI программ. Даже ISAPI программы могут использовать эти переменные:

Environment Variable Purpose/Meaning/Value
GATEWAY_INTERFACE Версия CGI для которой скомпилирован web сервер
SERVER_NAME IP адрес сервера или имя.
SERVER_PORT Порт на сервере, которые принимает HTTP запросы.
SERVER_PROTOCOL Имя и версия протокола, используемая для обработки запросов.
SERVER_SOFTWARE Имя (и обычно версия) программного обеспечения сервера.
AUTH_TYPE Схема проверки прав используемая сервером (NULL, BASIC)
CONTENT_FILE Файл используемый для передачи данных CGI программе (только Windows HTTPd/WinCGI).
CONTENT_LENGTH Количество байтов переданное на стандартный вход (STDIN) как содержимое POST запроса.
CONTENT_TYPE Тип данных переданных на сервер.
OUTPUT_FILE Имя файла для результата (только Windows HTTPd/WinCGI).
PATH_INFO Дополнительный, относительный путь переданный на сервер после имени скрипта, но до данных запроса.
PATH_TRANSLATED Та же самая информация, но преобразованная из относительного пути в абсолютный.
QUERY_STRING Данные переданные как часть URL, все после символа ? в URL.
REMOTE_ADDR Адрес IP или имя сервера конечного пользователя.
REMOTE_USER Имя пользователя, если используется схема проверки прав.
REQUEST_LINE Полный HTTP запрос представляемый сервером (зависит от сервера).
REQUEST_METHOD Указывает метод передачи данных, как часть URL (GET) или через стандартный ввод STDIN (POST).
SCRIPT_NAME Имя запущенного скрипта.

Немного еще дополнительной, но важной информации. Немного об переменных среды, которые особо важны для обработки запроса, и небольшое описание по обработке стандартных CGI приложений:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Интернет решения от доктора Боба»

Представляем Вашему вниманию похожие книги на «Интернет решения от доктора Боба» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


libcat.ru: книга без обложки
Анонимные Алкоголики
Боб Шоу - Bob Shaw
Боб Шоу
Отзывы о книге «Интернет решения от доктора Боба»

Обсуждение, отзывы о книге «Интернет решения от доктора Боба» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x