O data source receptor de requisições HTTP é usado para aceitar dados entregues ao sistema usando os métodos GET e POST do protocolo HTTP. Dados podem ser entregues por qualquer coisa que pode agir como um cliente HTTP, o exemplo mais óbvio é um navegador we, apesar de existirem muitos outros.
Múltiplos data sources receptores de requisições HTTP podem ser configurados, cada um opcionalmente aguarda diferentes dados (por exemplo, IDs de dispositivos ou endereços IP de origem).
Os dados são recebidos no caminho httpds. Então, se o sistema for acessível em, por exemplo, 'http://localhost/', os dados devem ser direcionados para 'http://localhost/httpds'.Teste agora. Como provalvelmente nenhum auditor está escutando este parâmetro, provavelmente será exibida a mensagem 'Unconsumed key: testKey'. Isto é normal; a mensagem é um conforto para indicar aos usuários que os dados enviados não estão sendo usados.
Todo data source requer um Nome, que pode conter qualquer descrição.
A Lista branca de IPs remotos é uma funcionalidade de segurança que instrui o data source a ignorar requisições com um endereço IP de origem que não corresponde a qualquer máscaras de endereço IP fornecidas.
A Lista branca de ID do dispositivo proporciona segurança adicional bem como roteamento de dados através da permissão dos dispositivos para os quais este data source escuta. A correspondência ao ID do dispositivo independe de maiúsculas e minúsculas em seu nome. Também, um '*' pode ser usado no término de uma máscara de ID de dispositivos. Por exemplo, a máscara 'site10*' irá corresponder aos IDs de dispositivos 'site10', 'site10temp', 'site10HUM', etc. O ID do dispositivo é especificado na requisição HTTP com o nome do parâmetro __dispositivo (com dois sublinhados). Abaixo seguem informações a respeito de outros parâmetros de requisição.
'Listas brancas', que são listas de elementos a permitir,
são usadas por que são inerentemente mais seguras que
'listas negras', que são listas de elementos a não
permitir. Para adicionar um valor a uma lista branca, insira o valor na
caixa de texto apropriada e clique no ícone correspondente. Para remover um valor, clique
no ícone
ao lado do
valor.
Uma 'máscara' é um endereço IP que pode conter coringas ('*') ou faixas de números. Endereços IPs são especificados usando o formato IPv4, que consiste em quatro valores separados por pontos, onde cada valor é um número entre 0 e 255 (por exemplo, '192.168.0.10'). Cada uma das quatro partes da máscara pode ser tanto um número específico que deve ser correspondido, um '*' indicando que qualquer número pode corresponder ou uma faixa numérica dada por dois números válidos separados por um caracter '-'. Uma máscara válida é, por exemplo, '192.168.10-15.*', que significa que o primeiro número deve ser 192, o segundo deve ser 168, o terceiro qualquer número igual ou entre 10 e 15 e o quarto pode ser qualquer número (entre 0 e 255). A máscara padrão '*.*.*.*' significa que qualquer endereço IP é aceito.
Requisições são entregues usando formatos parametrizados de requisições HTTP normais. Quando usando o método GET, o formato é 'http://<domainname and port>/<optional path>/httpds?param1=value1¶m2=value2'. Requisições enviadas com o método POST tipicamente requerem um cliente especializado. Consulte a documentação do cliente para utilização do método POST.
Valores de pontos podem ser especificados de duas maneiras. A primeira é com o formato 'nomeDoPonto=valorDoPonto'. A segunda é providenciar a chave e o valor como dois parâmetros separados usando os prefixos chave '__ponto' e '__valor'. Por exemplo, '__pontoFoo=nomeDoPonto&__valorFoo=valorDoPonto' (onde o nome do ponto 'Foo' é unido aos prefixos) tem o mesmo efeito de 'nomeDoPonto=valorDoPonto'.
A ordem com que os parâmetros são fornecidos na requisição não é significante.
As seguintes chaves especiais de parâmetros são reconhecidas. Todas iniciam com dois sublinhados e todas são opcionais.
É possivel examinar os dados que o sistema está recebendo clicando no botão 'Escutar dados HTTP'. Os parâmetros vigentes de configuração de lista branca serão utilizados para filtrar as requisições; para visualizar todos os dados de entrada, adicione a máscara de endereços IP '*.*.*.*' e a máscara do ID do dispositivo.
À medida que os dados são recebidos, suas especificidades serão mostradas na caixa de escuta. A primeira linha de resultados proporciona o endereço IP da origem (que pode ser usado, se apropriado, mais tarde na lista branca de endereços IP). A segunda linha mostra o ID do dispositivo ou '(nenhum)' se o parâmetro não estiver presente.
A terceira linha mostra o tempo da requisição, cujo valor padrão é o tempo do sistema, mas pode ser sobrescrito usando o parâmetro __time.
As linhas remanescentes de dados especificam as chaves individuais de parâmetros e valores que foram recebidos, no formato 'chave=valor'.
O auditor irá continuar a escutar por requisições até que o botão 'Cancelar' seja pressionad ou a página for descarregada.
Nomes de domínio foram omitidos por brevidade.
httpds?__device=boilerA&temp=215.5&hum=77.4&state=running
has the same result as
httpds?__device=boilerA&__point1=temp&__value1=215.5&__pointFoo=hum&__valueFoo=77.4&__pointBar=state&__valueBar=running
httpds?presents=true&__time=20071225073000
Requisições bem sucedidas enviadas ao receptor recebem uma resposta '200 OK'. Requisições que resultam em erros ou avisos recebem as seguintes potenciais mensagens de erro ou alerta no conteúdo da resposta HTTP.
Por padrão apenas o erro acima ou mensagens de alerta são retornados em uma resposta HTTP. Caso seja necessário retornar conteúdo adicional, é possível especificar conteúdo estático com um prólogo (escrito antes do erro e mensagens de alerta) e um epílogo (escrito após o erro e mensagens de alerta). Utilize as seguintes declarações SQL (ou declarações de atualização análogas, caso já existam) para especificar o conteúdo personalizado:
insert into systemSettings (settingName, settingValue) values ('httpdsPrologue', 'conteúdo do prólogo') insert into systemSettings (settingName, settingValue) values ('httpdsEpilogue', 'conteúdo do epílogo')