Cómo crear dispositivos y objetivos

Una supervisión HTTP/S comprueba una única dirección URL en busca de disponibilidad, rendimiento, contenido adecuado y errores. Admite todos los tipos populares de solicitudes, cookies, envíos de formularios, encabezados personalizados, sitios protegidos por contraseña (autorización HTTP / S básica, así como mecanismos de autorización de cookies / scripts) y umbrales de tiempo de espera.

La supervisión de HTTP/S valida los certificados de seguridad, comprueba la autoridad de certificación y realiza comprobaciones de caducidad de certificados. Se puede configurar para enviarle recordatorios cuando se acerca la fecha de caducidad del certificado.

Puede convertir parámetros de solicitud HTTP(S) en parámetros de contexto para pasar valores, por ejemplo, recuperados de una respuesta de otra solicitud dentro del dispositivo de supervisión. Puede configurar parámetros de contexto para la URL, los encabezados, el cuerpo de la solicitud y los scripts de preparación/publicación. Para obtener más información, consulte Cómo utilizar parámetros de contexto en solicitudes HTTP(S).

Importación a granel

Para crear supervisión para muchos dispositivos con un solo clic, elija la opción Importación masiva que se proporciona para el tipo de supervisión HTTP/S en la página Seleccione un tipo de supervisión . Para obtener más detalles, consulte la Importación masiva | Monitoreo de páginas web, dispositivos HTTP / S y PING / ICMP artículo de la wiki.

Configuración de una solicitud

Url

Introduzca la dirección URL de la página en la que desea realizar la tarea. Debe ser formateado como tal: www.example.com. Puede activar un modo de entrada visualmente amigable haciendo clic en el conmutador Detallado en la parte superior de la sección.

Comprobación de certificado/SSL

Secure Socket Layer SSL Certificate Check es un aspecto estándar de las pruebas HTTP(S).

Están disponibles las siguientes opciones adicionales:

  • Autoridad: comprueba si una cadena de certificados contiene un certificado raíz de confianza o no de confianza.
  • Nombre común (CN): valida que una dirección a la que navegue coincida con el certificado de dirección al que se firmó la dirección.
  • Fecha: comprueba la fecha de caducidad del certificado.
  • Revocación: valida que la cadena de confianza del certificado no contiene un certificado revocado.
  • Uso: comprueba una cadena de certificados para el uso incorrecto de un certificado intermedio.
  • Recordatorio de expiración en días: un recordatorio que notifica (como un error) sobre la expiración del certificado.
  • Certificado de cliente: nombre del certificado de cliente.

Consulte también: Nombre de host de destino o Dirección IP.

Umbral de validación de tiempo (en segundos)

Introduzca el número máximo de segundos que el sistema debe esperar una respuesta de la página web antes de finalizar la tarea y devolver un error.

El valor máximo de tiempo de espera está limitado a 70 segundos. Si no se establece el umbral, se aplicará el tiempo de espera predeterminado de 70 segundos a la tarea.

Tipo de solicitud

Puede enviar una solicitud GET o POST a la página web. Al seleccionar una solicitud GET, simplemente se recuperarán datos del servidor web. La selección de una solicitud POST indica que está incluyendo un conjunto de datos para que el servidor actúe.

Si establece el tipo de solicitud en POST pero no especifica un parámetro POST en la sección de parámetros adicionales siguiente, el valor POST volverá a GET al guardar la tarea.

Redirecciones de URL

Si la opción Seguir redirecciones se establece en , el sistema seguirá la ruta de acceso de la dirección URL que se envía con la respuesta 301 y considerará cada redirección como una solicitud HTTP independiente. Le permite seguir la cadena de redirección completa (todos los vínculos a los que se redirige la solicitud) en los resultados de la prueba, incluidos los tiempos de respuesta tanto para la DIRECCIÓN URL inicial como para las respuestas posteriores.

Le recomendamos que deje activada la opción Seguir redirecciones si necesita probar no solo la DIRECCIÓN URL inicial, sino todas las direcciones URL de la cadena. Por ejemplo, puede ser útil realizar una comprobación de certificado SSL para cada DIRECCIÓN URL en una cadena de redirección.

En los casos en los que desee probar solo una DIRECCIÓN URL inicial, deshabilite la opción Seguir redirecciones.

Tenga en cuenta que un límite de redirección predeterminado se establece en 10 redirecciones. Si desea que el sistema ejecute un número determinado de redirecciones (menos de 10), puede especificar el número de DIRECCIONES URL que desea probar en la cadena de redirección en el campo Preparar script:

string url;
url = "http://wtatour.com/";
(current.Task).TaskMaxRedirectAttempts = N;

Donde N es el número de ubicaciones de redirección que queremos seguir. Para no seguir ninguna redirección, simplemente establezca el número de ubicaciones de redirección en 0.

Validación de contenido

Las palabras clave de validación de contenido se usan para asegurarse de que el contenido esperado se cargó en una página web. En los campos Palabra clave, puede especificar una o varias palabras o frases que desee buscar en el contenido de la página web. Si no se encuentran las palabras clave esperadas, la tarea devolverá un error.

Puede introducir varias cadenas en los campos de palabras clave. Los valores introducidos pueden estar separados por expresiones lógicas de la siguiente manera:

{[("keyword1"&"keyword2")|!"keyword3"]}

Dónde:
• – inicio de la expresión de palabra clave;
] – fin de la expresión de palabra clave;
() – grupos de corchetes;
& – y lógico;
| – OR lógico;
! – NO lógico;
“string” – una palabra clave.

Una expresión de palabra clave correcta debe incluir los corchetes inicial y final de la siguiente manera:

{["keyword"]}

Autenticación básica

El esquema de autenticación básica s utilizado para permitir a los usuarios acceder al contenido en algunos sitios web. Una vez proporcionadas las credenciales de inicio de sesión se pasarán junto con el encabezado de solicitud al servidor web.

  • Nombre de usuario: contiene un nombre de usuario para la autenticación de acceso básico o de resumen HTTP/S.
  • Contraseña de usuario: contiene una contraseña para la autenticación de acceso básico o de resumen HTTP/S.

No confunda la autenticación básica con otros esquemas de autenticación como autenticación portadora que implica tokens portadores y OAuth 2.0 que usa tokens de acceso.

Lea los artículos sobre el nombre de usuario y la contraseña de autenticación básica y las API basadas en OAuth 2.0 para obtener más información.

Encabezados

La opción permite agregar encabezados personalizados adicionales. Por ejemplo, puede definir el tipo MIME de los datos enviados junto con la solicitud en el encabezado Content-Type:

Content-Type: text/html

Si no se especifica el encabezado Content-Type para la solicitud, la solicitud se enviará con el tipo de contenido predeterminado application/x-www-form-urlencoded.

The default User-Agent header is set to:

User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) DMBrowser/2.1 (SV)

However, the user-agent string can be replaced with any other string. To do this, add a custom header with the name “user-agent” and the specific value needed.

Cuerpo de solicitud

Si se ha seleccionado uno de los métodos POST, PUT o PATCH, puede especificar la carga útil aquí. El contenido dentro del cuerpo de la solicitud HTTP se puede enviar como datos “sin procesar” (JSON, XML, etc.) o colección estática nombre-valor (Datos de formulario).

Para trabajar con una colección nombre-valor, puede activar el modo de entrada detallado mediante el conmutador Detallado en la parte superior de la sección y proporcionar nombres y valores de parámetros de solicitud en el campo correspondiente.

Para enviar datos “sin procesar” junto con la solicitud, como un objeto JSON, escriba la carga JSON en el campo de entrada. También puede cambiar dinámicamente el cuerpo de la solicitud. Por ejemplo, si necesita enviar la fecha y hora actuales como parte de la solicitud POST o pasar el ID de sesión actual en carga JSON a un servidor remoto. Dotcom-Monitor permite cambiar dinámicamente la carga de solicitudes HTTP mediante la sintaxis y las máscaras de datos de Razor.

  • ejemplo. Cuerpo JSON dinámico para solicitudes de publicación HTTP

    Para comprender mejor cómo funciona el cuerpo JSON dinámico en la solicitud HTTP, echemos un vistazo al ejemplo siguiente. Supongamos que necesitamos enviar una orden en un sitio web y la transacción de envío incluye tres pasos básicos ejecutados secuencialmente:

    1. Iniciar sesión
    2. check-in
    3. Presentación de pedidos

    Para configurar una prueba con estos pasos ejecutados secuencialmente, necesitamos crear tres tareas HTTP dentro de un dispositivo de supervisión (o prueba de carga, si se están realizando pruebas de carga).

    Supongamos que necesitamos enviar la hora actual y un GUID único en el JSON con la solicitud HTTP para registrarnos con la aplicación. Además, para enviar un pedido, una identificación de sesión de usuario generada al iniciar sesión y un tiempo de pedido es requerido por la aplicación.

    Para implementar esta prueba, primero necesitamos configurar una solicitud de inicio de sesión con parámetros básicos de autenticación para el servidor web de aplicaciones web. A continuación, necesitamos configurar una solicitud HTTP para pasar la hora de registro real y el GUID único junto con un cuerpo JSON. En este ejemplo, escribiremos la siguiente cadena mediante la sintaxis razor en el cuerpo JSON:

    { "CheckInTime": "@Model["CurrentTime"]", "GenGuid": "@Model["Guid"]" }

    Donde @Model[” < Nombre del parámetro > “] hace referencia a un nombre de parámetro de contexto necesario en la expresión Razor.

    Debemos declarar los parámetros de contexto y especificar cómo se deben procesar los datos de publicación en el campo Preparar script:

    context.Guid = Guid.NewGuid().ToString(); // uniq random string
    context.CurrentTime = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd\Thh:mm:ss") + ".0Z"; // get current time in UTC
    ProcessPostDataByRazor(currentTask); // the call to process the Post Data content with the Razor engine

    El resultado de la solicitud HTTP tendrá un aspecto similar al siguiente:

    03:15:23
    POST http://www.dotcom-monitor.com/CheckIn
    { "CheckInTime": "2021-03-30T08:15:22.0Z", "GenGuid": "5c5e3d23-66fd-49d0-bd57-62c516aea7e7" }

    En el paso siguiente, necesitamos configurar la solicitud HTTP para enviar un pedido. Para ello, pasaremos el id. Consulte el cuerpo JSON de esta solicitud a continuación:

    { "OrderTime": "@Model["OrderTime"]",   "VIEWSTATE": "@Model["Session"]",  "ModelID": "2128506" }

    Para pasar un valor de la variable de ID de sesión actual, necesitamos recuperarlo de la página de inicio de sesión, llamada en el primer paso de inicio de sesión, mediante el método View State. Se puede codificar en el script prepare. Además, para simular el tiempo de pensar de un usuario real, estableceremos la variable de tiempo de pedido con un desplazamiento de tres minutos. Por lo tanto, el campo Preparar script contendrá las siguientes cadenas:

    context.OrderTime = DateTime.Now.AddMinutes(3).ToUniversalTime().ToString("yyyy-MM-dd\Thh:mm:ss") + ".0Z"; // order time + 3 min
    context.Session = (Tasks["Login"] as Http).body["//INPUT[@ID='__VIEWSTATE']", "VALUE"]; // track state value from Login page 
    ProcessPostDataByRazor(currentTask);

    La solicitud HTTP resultante tendrá un aspecto similar al siguiente:

    03:15:45
    POST http://www.dotcom-monitor.com/Order
    { "OrderTime": "2021-03-30T08:18:45.0Z", "VIEWSTATE": "<Server Generated ViewState>", "ModelID": "2128506" }
                        

Para obtener información sobre cómo configurar una solicitud HTTP con una carga dinámicamente cambiante, consulte Cómo cambiar dinámicamente la carga útil en la solicitud HTTP.

Opciones de DNS

La característica Opciones de DNS permite a los usuarios elegir cómo se llevan a cabo las solicitudes de servidor de nombres de dominio (DNS) durante una tarea de supervisión.

Para especificar el modo de resolución de nombres de host, en la sección Modo de resolución de DNS, seleccione uno de los modos disponibles. Para obtener más información sobre la configuración de características, consulte Opciones de modo DNS.

La sección Hosts DNS personalizados contiene las asignaciones de direcciones IP a nombres de host.

Para especificar la asignación, escriba la dirección IP y el nombre de host en los campos correspondientes.

Ejemplos:

192.168.107.246 example.com user.example.com userauth.example.com tools.example.com
192.168.107.246 example.com
192.168.107.246 user.example.com
192.168.107.246 userauth.example.com

Véase también: Opciones de modo DNS.

Preparar guión y secuencia de comandos de publicación

Los campos pueden contener código de C#, que se puede usar para datos POST, GET, URL específicos o para validar o publicar encabezados personalizados. Consulte el artículo Uso del script y el script de publicación o póngase en contacto con el soporte técnico para obtener más detalles sobre el uso.