HTTP

A interface HTTP permite enviar e receber telegramas por URL.

Info: A interface sincroniza automaticamente com o ciclo mais lento do SPS associado. Os telegramas são bufferizados pelo sistema, portanto nenhum telegrama é perdido.

Funcionamento

Atenção: Se uma porta de saída for escolhida em um cliente, deve-se esperar até que a conexão seja fechada. Recomenda-se deixar a porta no valor padrão 0.

A URL é construída da seguinte forma:

http://url:port/variable?wert

Com o bloco de função HTTP_REQUEST, mais detalhes e outros métodos podem ser enviados. Para isso, selecione o tipo de dados RAW para enviar.

Dica: Um exemplo completo pode ser encontrado aqui.

Variável Conteúdo
method Método HTTP (GET, POST, PUT, DELETE etc.)
query Parâmetros da URL após o ?
header Cabeçalho como array
content Conteúdo POST/PUT
timeout Timeout de envio (padrão 300 segundos)
source Fonte: SEND=Enviar, RESP=Resposta, RECV=Receber

A resposta da solicitação chega via $RESPONSE como string.

Nota: Observe a segurança da interface. Os dados nunca devem ser transmitidos diretamente pela Internet. Aqui faltam autenticação e criptografia via SSL ou TLS.

Solicitações Rápidas

Normalmente, telegramas mais antigos são descartados em solicitações rápidas consecutivas. Se isso não for desejado, um ! pode ser adicionado antes da URL para executar cada solicitação.

Tecnologias Suportadas

A recepção de uma solicitação HTTP é suportada. No entanto, apenas dados nos formatos compatíveis com UTF-8. Ou seja, dados binários não são suportados. A tecnologia usada suporta exclusivamente HTTP/1.1 via HTTP sem TLS/SSL.

O envio e a coleta de solicitações HTTP nos formatos UTF-8 suportam tanto HTTP quanto HTTPS via TLS/SSL.

Para que os dados binários também possam ser transmitidos sem erros, recomenda-se o uso de BASE64.