logo search
ІНТЕРНЕТ В БІЗНЕСІ

5.2.1. Метод get

Метод GET припускає передачу даних програмі CGI через перемінне середовище (environment variables). Це те саме перемінне середовище, що встановлюються в операційній системі MS-DOS командою SET.

Сервер WWW створює для програми CGI досить багато переменных середовища. Імена і призначення всіх цих перемінних будуть приведені пізніше, а поки - тільки самі необхідні.

Насамперед, метод GET припускає використання перемінне середовище з ім'ям QUERY_STRING. Саме сюди потрапляють дані з полів форми. Ці дані знаходяться в такому форматі:

Имя1=Значение1&Имя2=Значение2&Имя=Значение3

Тут у якості імен використовуються значення параметрів NAME, що задають імена поляж форми. Замість значень подставляются дані з відповідних полів. Скануючи вміст текстового рядка перемінне середовище QUERY_STRING, програма CGI може знайти в ній ім'я будь-якого потрібного поля і відповідного цього імені значення. Ніякі дані від виключених перемикачів не передаються, тому не варто думати, що в отриманому рядку обов'язково зустрінуться імена всіх поляж, розташованих у формі.

Адреса заданого рядка перемінне середовище в програмі, складеної на С, легко одержати за допомогою функції getenv:

char *szQueryString;

szQueryString = getenv("QUERY_STRING");

Якщо модифікується рядок перемінне середовище, те її варто скопіювати у внутрішній буфер. Операційна система серверу WWW може не припустити прямого редагування блока пам'яті, що містить перемінних середовищ.

Рядок, переданий у перемінне середовище QUERY_STRING, закодирована з використанням так називаної кодировки URL. У цій кодировке всі символи прогалин заміняються на символи +. Крім того, для уявлення кодів керуючих і деяких інших символів використовується послідовність символів виду %хх, де символи хх являють собою шестнадцатеричный код символу у виді двох символів ASCII.