Solución
El protocolo HTTP / 1.1 define el estado 100 (Continuar,
Continue), que permite a un cliente verificar si un servidor está dispuesto a aceptar una solicitud antes de enviar el cuerpo del mensaje. El proceso es el siguiente:
- El cliente desea enviar al servidor un mensaje de solicitud.
- El cliente envía un encabezado de solicitud que contiene
Expect: 100-continue
. - El servidor devuelve el estado
100 (Continue)
o 417 (Expectation Failed)
.
100 (Continue)
significa que el servidor acepta la solicitud y el cliente puede continuar con el envío del cuerpo de la solicitud.417 (Expectation Failed)
significa que el servidor rechaza la solicitud.
Al usar ciertos métodos HTTP en la
paleta de clientes HTTP , LabVIEW agregará automáticamente la expectativa
100 - continue
al encabezado de la solicitud cuando el mensaje tenga 1024 caracteres o más. Esto puede causar problemas si el servidor siempre responde con
417 (Expectation Failed)
o no sabe cómo responder adecuadamente a la expectativa.
Debido a que las funciones del Cliente HTTP no le dan la opción de deshabilitar
100 - continue
para mensajes más largos (más de 1024 caracteres), la solución es crear un encabezado de solicitud HTTP desde cero que lo excluya. Los estándares para los métodos HTTP se definen en la
W3C descripción del protocolo HTTP (en inglés).
Los siguientes
snippets muestran un ejemplo que implementa el método
HTTP POST
utilizando funciones básicas y funciones de la paleta
TCP Palette . Al componer cadenas de
strings para solicitudes HTTP, establezca el estilo de visualización de la cadena a
Backslash (\) Codes . Esto le permite corregir los caracteres no visualizables, que son necesarios para terminar los comandos correctamente.
Desde
String Constant o
String Control:
- Clic derecho>>'\' Codes Display, o
- Clic derecho>>Properties>>Display Style: Backslash (\) Codes
Nota: Esta imagen es un snippet de LabVIEW, que incluye código de LabVIEW que puede reutilizar en su proyecto. Para usar un snippet, haga clic derecho en la imagen, guárdelo en su computadora y arrastre el archivo a su diagrama de LabVIEW.
Nota: Esta imagen es un snippet de LabVIEW, que incluye código de LabVIEW que puede reutilizar en su proyecto. Para usar un snippet, haga clic derecho en la imagen, guárdelo en su computadora y arrastre el archivo a su diagrama de LabVIEW.