Saltar al contenido principal

Realizar una solicitud HEAD (http.head)

Declaración

código_http, texto_json_cabeceras = http.head(URL [, segundos_espera, cabeceras, URL_NO_ESCAPE ])

Declaración (parámetros con nombre)

Compatible desde 20250625; los parámetros de progreso son compatibles a partir de las versiones posteriores a 20260402

código_http, texto_json_cabeceras = http.head{
url = URL;
timeout = segundos_espera;
headers = cabeceras;
params = parámetros_Query;
progress = función_de_retorno_de_progreso;
progress_interval_ms = intervalo_de_progreso_en_milisegundos;
}

Parámetros

  • URL
    Tipo texto; dirección URL que se debe solicitar. Este método aplica escape a la URL de forma predeterminada; si no se necesita, consulta la descripción del parámetro URL NO ESCAPE
  • Segundos de espera
    Tipo real, parámetro opcional; tiempo de espera de la solicitud, en segundos; valor predeterminado 10
  • Cabeceras
    Tipo tabla, parámetro opcional; información de las cabeceras de la solicitud enviada, con la forma {field1 = value1, field2 = value2, ...}; valor predeterminado {}
  • Parámetros Query
    Tipo tabla, parámetro opcional; parámetros Query de la solicitud enviada, con la forma {field1 = value1, field2 = value2, ...}; valor predeterminado {}
  • Función de retorno de progreso
    Tipo función, parámetro opcional, compatible a partir de las versiones posteriores a 20260402. Se llama cuando cambia el progreso de la solicitud; el primer parámetro de la función es la información de progreso actual
  • Intervalo de la función de retorno de progreso en milisegundos
    Tipo entero, parámetro opcional, compatible a partir de las versiones posteriores a 20260402. Controla el intervalo de activación de la función de retorno de progreso, en milisegundos
  • URL NO ESCAPE
    Tipo booleano, parámetro opcional; true solicita directamente sin aplicar escape a la URL y false es el valor predeterminado
    Para aplicar un escape personalizado a la URL, consulta el módulo lcurl, easy:escape y easy:unescape

Valores devueltos

  • Código de estado HTTP
    Tipo entero; devuelve el código de estado HTTP de esta solicitud; devuelve -1 si se agota el tiempo de espera
  • Texto JSON de las cabeceras devueltas
    Tipo texto o nil; información de las cabeceras en formato JSON devuelta al completar la solicitud; devuelve nil si se agota el tiempo de espera

Descripción

Usa el método HEAD del protocolo HTTP/1.1 para solicitar las cabeceras de recursos de red
El protocolo HEAD normalmente obtiene las mismas cabeceras de respuesta que una solicitud GET, pero no devuelve el contenido del cuerpo real
Esta función puede ceder; antes de que devuelva el control, otros hilos pueden tener la oportunidad de ejecutarse

La función de retorno de progreso recibe una estructura info con la siguiente forma:

{
count_of_bytes_sent = bytes_enviados;
count_of_bytes_expected_to_send = bytes_que_se_espera_enviar;
count_of_bytes_received = bytes_recibidos;
count_of_bytes_expected_to_receive = bytes_que_se_espera_recibir;
}

Ejemplo

local c, h = http.head("https://www.xxtouch.app/测试文本.txt")
if c==200 then -- Si el código de estado devuelto es HTTP_OK
sys.alert(h) -- Escribe la información de las cabeceras solicitadas
end

Nota: el código anterior utiliza la función sys.alert, que no pertenece a este capítulo