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.
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.
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.
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.