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.