Zum Hauptinhalt springen

HEAD-Anfrage senden (http.head)

Deklaration

HTTP_Statuscode, Antwortkopf_JSON_Text = http.head(URL [, Timeout_in_Sekunden, Anfragekopf, URL_nicht_ESCAPEN ])

Deklaration (benannte Parameter)

Unterstützt ab 20250625; Fortschrittsparameter werden ab Versionen nach 20260402 unterstützt.

HTTP_Statuscode, Antwortkopf_JSON_Text = http.head{
url = URL;
timeout = Timeout_in_Sekunden;
headers = Anfragekopf;
params = Queryparameter;
progress = Fortschritts-Callback;
progress_interval_ms = Fortschrittsintervall_in_Millisekunden;
}

Parameter

  • URL
    Text, anzufordernde URL-Adresse; diese Methode escaped die URL standardmäßig. Falls dies nicht gewünscht ist, siehe die Beschreibung des Parameters URL nicht ESCAPEN.
  • Timeout_in_Sekunden
    Reelle Zahl, optionaler Parameter, Anfrage-Timeout in Sekunden, standardmäßig 10
  • Anfragekopf
    Tabelle, optionaler Parameter, Kopfzeilen der Anfrage im Format {field1 = value1, field2 = value2, ...}, standardmäßig {}
  • Queryparameter
    Tabelle, optionaler Parameter, Query-Parameter der Anfrage im Format {field1 = value1, field2 = value2, ...}, standardmäßig {}
  • Fortschritts-Callback
    Funktion, optionaler Parameter, Unterstützung ab Versionen nach 20260402. Wird bei Änderungen des Anfragefortschritts aufgerufen; der erste Parameter des Callbacks enthält die aktuellen Fortschrittsinformationen
  • Fortschrittsintervall_in_Millisekunden
    Ganzzahl, optionaler Parameter, Unterstützung ab Versionen nach 20260402. Steuert das Intervall der Fortschritts-Callbacks in Millisekunden
  • URL nicht ESCAPEN
    Boolescher Wert, optionaler Parameter; true sendet die URL direkt ohne Escaping, standardmäßig false
    Benutzerdefiniertes URL-Escaping ist im lcurl-Modul unter easy:escape und easy:unescape beschrieben

Rückgabewerte

  • HTTP-Statuscode
    Ganzzahl, HTTP-Statuscode dieser Anfrage; bei Timeout -1
  • Antwortkopf-JSON-Text
    Text oder nil, nach Abschluss der Anfrage zurückgegebene Kopfzeilen im JSON-Format; bei Timeout nil

Hinweise

Fordert mit der HEAD-Methode des HTTP/1.1-Protokolls die Kopfzeilen einer Netzwerkressource an.
Das HEAD-Protokoll erhält normalerweise dieselben Antwortkopfzeilen wie eine GET-Anfrage, gibt aber nicht den tatsächlichen Antwortkörper zurück.
Diese Funktion kann die Ausführung abgeben; vor ihrer Rückgabe können andere Threads ausgeführt werden.

Die vom Fortschritts-Callback empfangene info-Struktur sieht wie folgt aus:

{
count_of_bytes_sent = Gesendete_Byte;
count_of_bytes_expected_to_send = Voraussichtlich_zu_sendende_Byte;
count_of_bytes_received = Empfangene_Byte;
count_of_bytes_expected_to_receive = Voraussichtlich_zu_empfangende_Byte;
}

Beispiel

local c, h = http.head("https://www.xxtouch.app/测试文本.txt")
if c==200 then -- Wenn der zurückgegebene Statuscode HTTP_OK ist
sys.alert(h) -- Die angeforderten Kopfzeilen ausgeben
end

Hinweis: Der obige Code verwendet die Funktion sys.alert aus einem anderen Kapitel.