Aller au contenu principal

Lancer une requête HEAD (http.head)

Déclaration

codeHTTP, texteJSONEnTêtes = http.head(URL [, secondesExpiration, enTêtes, URLSansEscape ])

Déclaration (paramètres nommés)

Pris en charge depuis 20250625 ; le paramètre de progression est disponible depuis 20260402.

codeHTTP, texteJSONEnTêtes = http.head{
url = URL;
timeout = secondesExpiration;
headers = enTêtes;
params = paramètresQuery;
progress = rappelProgression;
progress_interval_ms = intervalleProgressionMs;
}

Paramètres

  • URL — Texte, adresse URL ; l’URL est échappée par défaut
  • secondesExpiration — Nombre réel facultatif, délai en secondes ; par défaut 10
  • enTêtes — Table facultative des en-têtes envoyés ; par défaut {}
  • paramètresQuery — Table facultative des paramètres Query ; par défaut {}
  • rappelProgression — Fonction facultative, prise en charge depuis 20260402, appelée lorsque la progression change
  • intervalleProgressionMs — Entier facultatif, pris en charge depuis 20260402, intervalle d’appel en millisecondes
  • URLSansEscape — Booléen facultatif ; true envoie l’URL sans escape, false par défaut. Pour personnaliser l’escape, consultez lcurl, easy:escape et easy:unescape.

Valeur de retour

  • codeHTTP — Entier, code HTTP de la requête ; -1 en cas d’expiration
  • texteJSONEnTêtes — Texte ou nil, en-têtes JSON ; nil en cas d’expiration

Description

Utilise la méthode HEAD de HTTP/1.1 pour obtenir les en-têtes d’une ressource. HEAD renvoie généralement les mêmes en-têtes que GET, mais pas le corps. Cette fonction peut céder l’exécution ; avant son retour, d’autres threads peuvent s’exécuter.

La fonction de rappel reçoit une structure info :

{
count_of_bytes_sent = octetsEnvoyés;
count_of_bytes_expected_to_send = octetsÀEnvoyer;
count_of_bytes_received = octetsReçus;
count_of_bytes_expected_to_receive = octetsÀRecevoir;
}

Exemple

local c, h = http.head("https://www.xxtouch.app/测试文本.txt")
if c==200 then -- Si le code renvoyé est HTTP_OK
sys.alert(h) -- Afficher les en-têtes reçus
end

Remarque : le code utilise sys.alert.