Подробности о данных переменных

Пока мы не касались вопроса о том, какие именно данные вы будете читать с помощью sock.httprqstring и sock.gethttprqstring. Другими словами, мы не обсуждали содержимое буфера VAR. Пора это прояснить.

Мы уже объясняли, что sock.httprqstring и sock.gethttprqstring возвращают одни и те же данные, с той лишь разницей, что sock.httprqstring не удаляет данные из буфера VAR и не может обратиться к данным дальше первых 255 байт.

Формат данных в буфере VAR зависит от используемого метода.

Содержимое буфера VAR - метод HTTP GET

Допустим, клиент отправил такой запрос:

GET /form_get.html?user=CHUCKY&pwd=THEEVILDOLL HTTP/1.1

Host: 127.0.0.1:1000

User-Agent: Mozilla/5.0 (и так далее)

В буфер VAR попадёт всё, что следует за URL, до первого CR/LF. Эта часть выделена синим. Здесь две переменные - user и pwd. Они равны "CHUCKY" и "THEEVILDOLL" соответственно. Часть "HTTP/1.1" приложение может просто игнорировать.

Содержимое буфера VAR - метод HTTP POST

Пример запроса клиента:

POST /form_get.html HTTP/1.1

Host: 127.0.0.1:1000

User-Agent: Mozilla/5.0

(множество строк пропущено)

Content-Type: multipart/form-data; boundary=---------------------------21724139663430

Content-Length: 257

-----------------------------21724139663430

Content-Disposition: form-data; name="user"

CHUCKY

-----------------------------21724139663430

Content-Disposition: form-data; name="pwd"

THEEVILDOLL

-----------------------------21724139663430--

Вы получите всё, что показано синим.

Исходный материал Tibbo обновлён 11 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке