bg

HTTP parser plugin for Data Loggers

Latest version: 5.0.1 build 1126. November 28, 2025.

This HTTP parser module integrates with Advanced TCP/IP Data Logger or Data Logger Suite to provide basic HTTP server features and to convert incoming HTTP requests into structured parsed data for export. It inspects request lines, headers, and bodies, and extracts values using multiple parsing methods, converts types, applies filters, and optionally returns HTTP responses. Use this module when you need to collect telemetry, device status, or form data directly from HTTP clients without deploying a full web server or custom scripts.

The parser validates incoming HTTP messages and extracts fields from the header and from a request body query string. It supports GET and POST methods and detects protocol version automatically. For each extracted variable, you can define a data type (string, integer, float, boolean, datetime, and others), a default value, and additional parsing rules. Note that multipart/mixed POST bodies are not supported.

Download  | PDF manual

The following example demonstrates a typical HTTP request the module receives and how values can be mapped.

Example incoming HTTP request (typical):

GET /js/some.js?sensor=Temp&sensor_id=1&value=23.6 HTTP/1.1
Host: 127.0.0.1:10000
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17
Accept: */*
Accept-Language: q=0.8,en-us;q=0.5,en;q=0.3
Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

From this request you can extract variables such as sensor_id and value. If you like, you can also extract other header items as strings (e.g., Host, RequestPath, User-Agent).

Parsing methods

  • Http header field - for example, specify Item name "Referer" and type string. The parser returns the full referrer URL or a default value if missing.
  • Query string field - for POST form data such as "sensor=Temp&value=23.6", define item "value" as float to export numeric data.
  • Fixed position - extract the method or request path from the request line. Example: position 1..3 returns "GET".
  • Delimited - use delimiter ": " to split header entries. Example extracts "User-Agent" value.
  • Regular expression - capture subexpressions for complex patterns. Example regex for ISO date in body: (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) to extract to DATE_TIME_STAMP.
  • Default or None - create fixed variables that always contain a constant or null to use in data export plugins.

Response options

The module can remain silent or return structured HTTP replies. Response types include Disabled, 403, 404, Text, From file, and From root folder. Use "From root folder" to serve static content stored in a folder. When serving files, set the content type to Autodetect to match the file extension. If the requested file is missing, the module will return 404.

Example responses:

  • Return a simple text confirmation for accepted telemetry: HTTP/1.1 200 OK with body "OK".
  • Return 403 for unauthorized clients based on an IP or header filter.
  • Return file content: the parser returns the content of any user-specified file.

Integration examples with Advanced TCP/IP Data Logger

Example 1: Device posts telemetry via HTTP POST as application/x-www-form-urlencoded (raw data):

POST /upload HTTP/1.1
Host: 192.168.1.100:8080
Content-Type: application/x-www-form-urlencoded
Content-Length: 29

sensor=Temp&value=23.6&ts=2025-01-02 08:00:00

Parsing rules:

  • Query string field "sensor" → type string → value "Temp"
  • Query string field "value" → type float → value 23.6
  • Query string field "ts" → type datetime → convert to DATE_TIME_STAMP = "2025-01-02 08:00:00"

Export example using the CSV export module:

DATE_TIME_STAMP,sensor,value
2025-01-02 08:00:00,Temp,23.6

Example 2: Simple GET request used by devices to report status:

Incoming (raw):
GET /status?uptime=3600&load=0.12 HTTP/1.1
Host: 10.0.0.5:10000
User-Agent: Device/1.2

Parsing rules:

RequestPath → Fixed value = /status
uptime → Query string field → integer = 3600
load → Query string field → float  = 0.12

Key features

  • Parse HTTP request line, headers, and body fields.
  • Multiple parsing methods: fixed position, delimited, regex, query field.
  • Type conversion into common data types (e.g., date, time, string, float).
  • Request size and timeout controls to protect the server.
  • Configurable HTTP responses: Disabled, 403, 404, text, file, or root folder.
  • Option to export complete header or selected parsed variables.

Brief summary

The HTTP Server Parser provides a lightweight way to accept, parse, and export HTTP data inside Advanced TCP/IP Data Logger or Data Logger Suite, with configurable parsing types and response modes.

Download  | PDF manual