Меню

Enviar solicitud HTTP
La actividad está diseñada para enviar peticiones HTTP a la dirección especificada.
Esta actividad se encuentra en la sección HTTP.

Propiedades de la actividad

Panel de propiedades de la actividad "Enviar solicitud HTTP
El panel de propiedades de la actividad "Enviar solicitud HTTP" tiene la siguiente configuración:
Opciones:
  • String - los datos se envían sólo como string;
  • Archivo - esta opción permite enviar el archivo a través del protocolo HTTP además de valores de string.
Propiedades:
  • Url - especifica a qué URL se enviará la solicitud;
  • Tiempo de espera (s.) - tiempo en segundos durante el cual se espera una respuesta del servidor a la solicitud;
  • Método - HTTP - El método por el que se enviará la solicitud. Métodos disponibles: GET, POST, PUT, DELETE;
  • Datos - para introducir datos en forma de string que se enviarán en el cuerpo de la solicitud. Este parámetro sólo se pasa cuando se utilizan los métodos de petición PUT y POST. En el ejemplo siguiente se muestra un ejemplo de introducción de datos;
  • Codificación - especificando la codificación de los datos a enviar desde la propiedad Data (utf-8, unicode, etc.);
  • Tipo de contenido - Especifica información para el servidor que recibe la petición sobre el tipo de contenido que se está enviando en la propiedad "Datos";
  • Encabezados - especificar las cabeceras de las peticiones HTTP. Al pulsar el botón "Editar", se abre la ventana para rellenar la información de la cabecera. Las cabeceras se rellenan utilizando el patrón llave : valor. Tenga en cuenta que el parámetro Llave se rellena sin comillas, y el parámetro Valor debe especificarse como un valor de string entre comillas "" ;
  • Ruta - especificar la ruta del archivo que se va a transferir;
  • Contenido - donde se escribirá el contenido del cuerpo de la respuesta;
  • Colección de cabeceras - variable donde se escribirán las cabeceras de la respuesta en forma de llave de diccionario (encabezado) : valor;
  • Código de estado - variable donde se almacenará el código de respuesta (estados) del servidor

Editar ventana de cabecera
Ejemplo de uso de la actividad
Intentemos enviar una petición al servidor a través de su API utilizando la actividad "Enviar solicitud HTTP". Para ello, utilizaremos un servidor de prueba con un API: {JSON} Placeholder. Presenta un conjunto de servicios para pruebas y una base de datos generada de usuarios, mensajes publicados, etc.
Esta API proporciona varios recursos. En este ejemplo utilizaremos el recurso /posts, que contiene un conjunto de información sobre algunos posts (mensajes) en formato JSON.

Información proporcionada por el recurso /post
Para obtener los parámetros de solicitud HTTP necesarios y la descripción de la estructura de los datos enviados con la solicitud, debe utilizar la documentación de la API. La documentación del servicio descrito en el ejemplo se encuentra en esta referencia.

Petición GET
Para obtener datos del servidor sobre los mensajes publicados, utilizaremos el método GET.
Estos son los datos generados necesarios para las pruebas.
En este caso, no necesitamos rellenar las cabeceras sino que escribimos la información del cuerpo de la petición en la propiedad "Datos".
En este caso, deben ajustarse los siguientes parámetros:
  • Url
  • Método
  • Contenido
  • Colección de cabeceras
  • Código de estado
1. Rellene la URL. En este caso, la dirección: https://jsonplaceholder.typicode.com/posts
Dado que la string de dirección incluye el carácter de la barra inclinada (barra) , entonces la string debe escribirse con el signo "eth" @, como se muestra en la siguiente imagen.
2. Seleccione el método Get en la propiedad "Método";
3. Especifica también las variables de salida "Contenido", "Colección de cabeceras" y "Código de estado". En este ejemplo, se denominaron response_content, response_header, response_code.
Como puede ver, no hemos editado las cabeceras, ya que no es necesario para la API en cuestión.

Propiedades de la actividad para ejecutar una solicitud Get
4. Compruebe si hay errores y ejecute el script;
5. Si la solicitud se transmite correctamente, la respuesta debe contener el código 200. Según la documentación de la API utilizada, una solicitud de este tipo debería recibir datos en formato JSON en la respuesta, representados como una string de prueba.
6. Utilizando la depuración, vamos a comprobar los datos escritos en las variables de salida;

Variables de salida

Contenido de la variable response_content

Contenido de la variable response_header
7. Se ha escrito el código HTTP 200 en la variable de estado response_code, lo que indica que la solicitud se ha realizado correctamente. Como puede ver en las imágenes anteriores, la variable de respuesta response_content se ha escrito como una string en formato tipo json. Contiene toda la información del cuerpo del correo. En caso necesario, dicha string puede analizarse utilizando la actividad "JSON". Además, las cabeceras de respuesta se escribieron en la variable response_header como una llave de diccionario (encabezado) : valor.
Tenga en cuenta que se pueden escribir diferentes formatos de datos (json, xml, etc.) en la variable especificada en la propiedad de salida "Contenido". Estos datos son texto en forma de string System.String. Normalmente, el formato de los datos recibidos en el cuerpo de la respuesta se especifica en la cabecera de respuesta Content-Type.
8. Hemos podido enviar una solicitud GET a través del protocolo HTTP y obtener toda la información sobre los mensajes publicados.
Petición POST
Servicio {JSON} Placeholder también le da la oportunidad de probar una petición POST que envía datos para ser colocados en el servidor.
Probemos a publicar. Como el servidor está diseñado sólo para pruebas, el servidor sólo emula la colocación de datos. Si los datos que se envían son correctos y la solicitud tiene éxito, se enviará la correspondiente respuesta a la Documentación API . No hay cambios reales en los datos del servidor.
En este caso, deben ajustarse los siguientes parámetros:
  • Url
  • Método
  • Datos
  • Codificar
  • Tipo de contenido
  • Contenido
  • Colección de cabeceras
  • Código de estado
1. Rellene la URL. En este caso, la dirección es: https://jsonplaceholder.typicode.com/posts
2. Seleccione el método Post en la propiedad "Método";
3. Ahora vamos a rellenar el parámetro "Datos".
Aquí necesitas colocar como string los datos que serán colocados en el cuerpo de la petición y enviados al servidor. En este ejemplo, se trata de la información sobre la entrada que queremos publicar en el servidor. Así que vamos a enviar una solicitud a la API REST, necesitamos saber en qué formato se deben presentar estos datos. Dicha información se facilita en la documentación de la API. En nuestro caso se trata del formato JSON, que se especifica en el ejemplo Crear una solicitud de recurso ('Content-type':'application/json').

Para colocar una entrada en el servidor, debe especificar los siguientes valores:
"title": "título del mensaje"
"body": "cuerpo del mensaje"
"userId": "ID de usuario"
La estructura de un archivo JSON es un conjunto de parámetros llave: valor.
Al pasar datos, todos los valores de string deben especificarse entre comillas dobles(").
Dado que la propiedad "Datos" sólo acepta como entrada datos de tipo string, es necesario aislar las comillas internas.
Pasar el post para su publicación con los parámetros: "title": "foo", "body" : "bar", "userId": 1
Esto puede hacerse de dos maneras:
  • con un signo de barra invertida (\);
  • con dos comillas ("").

"{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
Ejemplo de uso (\")

@"{
	""title"": ""foo"",
	""body"": ""bar"",
	""userId"": 1
  }"
Ejemplo de uso ("")
Tenga en cuenta que, en el primer caso, debe escribir en una sola línea y que, en este caso concreto, el signo @ es opcional.
En el segundo caso, es necesario aislar toda la línea con el signo @. Así se preserva la claridad de los datos;
4. La codificación "utf-8" se especifica en el campo de entrada por defecto de la propiedad "Codificación";
5. En el campo de propiedad "Tipo de contenido", introduzca "application/json", que corresponde al formato JSON;
6. Especifique también las variables de salida "Contenido", "Colección de cabeceras" y "Código de estado". En este ejemplo se han nombrado como response_content, response_header, response_code;
7. Compruebe si hay errores y ejecute el script;

Configuración de las propiedades de actividad, para la solicitud POST
8. Si la solicitud se transmite correctamente, la respuesta debe recibir el código 201, que indica que se ha creado un nuevo registro. Según la documentación de la API utilizada, una solicitud de este tipo debe responderse con datos en formato JSON, representados como una string de prueba con información sobre el registro añadido.
9. Utilizando la depuración, vamos a comprobar los datos escritos en las variables de actividad de salida;

10. Como puede ver, entró el código 201;

Contenido de la variable response_content
11. Como puede ver recibimos una respuesta con la información que enviamos y adicionalmente añadimos el post id con el valor 101;
Logramos enviar la solicitud POST a través del protocolo HTTP y colocar nuevos datos en el servidor.