Visión general

La fuente de datos del receptor HTTP se utiliza para aceptar los datos suministrados al sistema por los métodos HTTP GET o POST. Los datos pueden ser entregados por cualquier cosa que pueda actuar como cliente HTTP, el ejemplo más obvio es un navegador web, aunque hay muchos otros.

Es posible configurar múltiples fuentes de datos del receptor HTTP, cada una de las cuales escucha datos diferentes (por ejemplo, las identificaciones de los dispositivos o las direcciones IP de las fuentes).

Los datos se reciben en el camino httpds. Por ejemplo, si se puede acceder a su sistema en "http://localhost/", los datos deben dirigirse a "http://localhost/httpds". intenta ahora. Este enlace envía un parámetro llamado "testKey" con el valor "testValue". Como es probable que ningún receptor escuche este nombre de parámetro, probablemente verá el mensaje "Clave no usada: clave de prueba". Esto es normal; el mensaje es una forma conveniente de hacer saber a los usuarios que se están enviando datos pero no se están utilizando.

Configuración

Cada fuente de datos requiere un Nombre, que puede ser cualquier descripción.

La Lista Blanca de Direcciones IP Remotas es una característica de seguridad que instruye a la fuente de datos a ignorar las solicitudes cuya dirección IP de origen no coincida con ninguna de las máscaras de dirección IP dadas. Véase más abajo más información sobre las máscaras de formato.

La lista blanca de la identificación del dispositivo proporciona seguridad adicional y enrutamiento de datos permitiendo la especificación de los dispositivos que esta fuente de datos escucha. La identificación del dispositivo no distingue entre mayúsculas y minúsculas. Además, el asterisco (*) puede usarse para terminar una máscara de identificación de dispositivo. Por ejemplo, la máscara "site10*" coincidirá con las identificaciones de los dispositivos "site10", "SITE10temp", "site10HUM", etc. El ID del dispositivo se especifica en la petición HTTP con el nombre del parámetro dispositivo (con dos guiones bajos). Para más información sobre otros parámetros de la solicitud, véase los parámetros de la solicitud que figuran a continuación

Las "listas blancas", que son listas de artículos que deben ser autorizados, se utilizan porque son inherentemente más seguras que las "listas negras", que son listas de artículos que no deben ser autorizados. Para añadir un valor a una lista blanca, introdúzcalo en el cuadro de texto correspondiente y haga clic en el icono que lo acompaña. Para eliminar un valor, haz clic en el icono junto al valor.

Máscara de dirección IP

Una "máscara" es una dirección IP que puede incluir comodines ("*") o series de números. Las direcciones IP se especifican utilizando el formato IPv4, que consiste en cuatro valores separados por un punto, siendo cada uno de ellos un número entre 0 y 255 (por ejemplo, "192.168.0.10"). Cada una de las cuatro partes de la máscara puede ser un número específico que debe ser emparejado, un "*" que indica que cualquier número es un emparejamiento, o un rango dado de números en forma de dos números válidos separados por un "-". Por ejemplo, una máscara válida es "192.168.10-15.*", lo que significa que el primer dígito debe ser 192, el segundo 168, el tercero cualquier número entre 10 y 15 inclusive, y el cuarto cualquier número (entre 0 y 255). La máscara por defecto de "*.*.*" significa que se acepta cualquier dirección IP.

Solicitud de parámetros

Las solicitudes se entregan utilizando los formatos de solicitud normales configurados por HTTP. Cuando se utiliza el método GET, el formato es "http://<nombre del dominio y puerto>/<camino opcional>/httpds?param1=valor1&param2=valor2". Las solicitudes enviadas con el método POST suelen requerir un cliente especializado; por favor, consulte la documentación del cliente si desea utilizar el método POST.

Los valores de los puntos pueden especificarse de dos maneras. El primero es el formato 'pointName=pointValue'. El segundo es proporcionar la clave y el valor como dos parámetros separados utilizando los prefijos de clave '__point' y '__value'. Por ejemplo, '__pointFoo=pointName&__valueFoo=pointValue' (recogido al hacer coincidir el "Foo" que sigue al prefijo) tiene el mismo efecto que 'pointName=pointValue'.

El orden en que se proporcionan los parámetros en la aplicación no es significativo.

Se reconocen las siguientes claves de parámetros especiales. Observe que todos comienzan con dos subrayados. Todos son opcionales.

Los sellos de tiempo pueden ser representados de muchas maneras. Si se detecta una marca de tiempo (es decir, no está vacía), Mango intentará analizarla primero como "yyyyMMddHHmmss", luego como "yyyy-MM-dd'T'HH:mm:ss'Z'", y finalmente como una cuenta atrás en milisegundos UTC desde la medianoche del 1 de enero de 1970. (Véase la documentación "Formatos de fecha y hora" para más información).

Prueba con el receptor de escucha HTTP

Puede revisar los datos que recibe su sistema haciendo clic en el botón "Escuchar datos HTTP". Tenga en cuenta que la configuración actual de la lista blanca se utilizará para filtrar las solicitudes; para ver todos los datos entrantes, añada la máscara de dirección IP '*.*.*.*' y la máscara de identificación del dispositivo '*'.

A medida que se reciben los datos, sus detalles se muestran en la caja de escucha. La primera línea de resultados proporciona la dirección IP de origen (que puede utilizarse en la lista blanca de direcciones IP, si procede). La segunda línea muestra el ID del dispositivo, o "(ninguno)" si el parámetro no estaba presente.

La tercera línea indica la hora de la solicitud. El tiempo se ajusta por defecto al tiempo del sistema, pero puede ser anulado por el parámetro __tiempo.

Las otras líneas de datos especifican las claves y los valores de los parámetros individuales que se han recibido, en el formato "clave=valor".

El oyente seguirá escuchando las peticiones hasta que se pulse "Cancelar" o se descargue la página.

Ejemplos

Los nombres de dominio se han omitido en aras de la brevedad.

httpds?__device=boilerA&temp=215.5&hum=77.4&state=running
a le même résultat que
httpds?__device=boilerA&__point1=temp&__value1=215.5&__pointFoo=hum&__valueFoo=77.4&__pointBar=state&__valueBar=running

httpds?presents=true&__time=20071225073000

Respuestas HTTP

Las solicitudes aceptadas que se envíen al destinatario recibirán una respuesta de "200 OK". Las solicitudes que den lugar a errores o advertencias recibirán los siguientes posibles mensajes de error o advertencia en el contenido de la respuesta HTTP:

Por defecto, sólo los mensajes de error o de advertencia anteriores se devuelven en la respuesta HTTP. Si desea que se devuelva contenido adicional, puede especificar contenido estático como el prólogo (escrito antes de los mensajes de error y de advertencia) y el epílogo (escrito después de los mensajes de error y de advertencia). Utilice las siguientes instrucciones de inserción (o instrucciones de actualización similares si las claves ya existen) para especificar su contenido personalizado:

  insert into systemSettings (settingName, settingValue) values ('httpdsPrologue', 'my prologue content')
  insert into systemSettings (settingName, settingValue) values ('httpdsEpilogue', 'my epilogue content')