DELETE-Anfrage senden (http.delete)
Deklaration
HTTP_Statuscode, Antwortkopf_JSON_Text, Antwortkörper = http.delete(URL [, Timeout_in_Sekunden, Anfragekopf, Anfragedaten, URL_nicht_ESCAPEN ])
Deklaration (benannte Parameter)
Unterstützt ab 20250625; Fortschrittsparameter werden ab Versionen nach 20260402 unterstützt.
HTTP_Statuscode, Antwortkopf_JSON_Text, Antwortkörper = http.delete{
url = URL;
timeout = Timeout_in_Sekunden;
headers = Anfragekopf;
params = Queryparameter;
-- Die folgenden Anfragedaten-Parameter können nicht gleichzeitig verwendet werden; Priorität: multipart > data > json > upload_file
multipart = Multipart-Formular der Anfragedaten;
data = Anfragedaten;
json = JSON der Anfragedaten;
upload_file = Pfad der hochzuladenden Datei;
download_file = Dateipfad zum Speichern des Antwortkörpers bei Erfolg;
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 {} - Anfragedaten
String, optionaler Parameter, mit DELETE gesendeter Inhalt, standardmäßig eine leere Zeichenkette
20250625 Bei einer Tabelle werden die Daten als application/x-www-form-urlencoded codiert gesendet - Multipart-Formular der Anfragedaten
Tabelle, optionaler Parameter, mit DELETE gesendete Multipart-Formulardaten im Format {field1 = value1, field2 = value2, ...}, standardmäßig {} - JSON der Anfragedaten
Tabelle, optionaler Parameter, wird als application/json codiert gesendet - Pfad der hochzuladenden Datei
Text, optionaler Parameter, sendet die Dateidaten direkt als Anfragedaten - Dateipfad zum Speichern des Antwortkörpers bei Erfolg
Text, optionaler Parameter; wenn angegeben, ist der Antwortkörper nach erfolgreicher Anfrage der Pfad der gespeicherten Datei - Fortschritts-Callback
Funktion, optionaler Parameter, Unterstützung ab Versionen nach 20260402. Wird bei Änderungen des Upload- oder Downloadfortschritts 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 - Antwortkörper
String oder nil, nach Abschluss der Anfrage zurückgegebener Inhalt; wenn der Antwortkörper in einer Datei gespeichert wird, ist dieser Wert der Dateipfad; bei Timeout nil
Hinweise
Fordert mit der DELETE-Methode des HTTP/1.1-Protokolls eine Netzwerkressource an; sie wird normalerweise zum Löschen einer Netzwerkressource verwendet, wobei dieses Protokoll üblicherweise eine Berechtigungsprüfung umfasst.
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 code, res_headers, body = http.delete("https://httpbin.org/delete?hello=world&你好=世界", 15, {
["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)", -- Eine IE8-Anfrage simulieren
["Cookie"] = "a=1; b=2; c=3"; -- Zusätzlich Cookie übermitteln
}, "需要发送过去的数据")
if code == 200 then -- Wenn der zurückgegebene Statuscode HTTP_OK ist
sys.alert(body)
end
Hinweis: Der obige Code verwendet die Funktion sys.alert aus einem anderen Kapitel.
Beispiel (benannte Parameter)
local code, res_headers, body = http.delete{
url = "https://httpbin.org/delete";
timeout = 15;
headers = {
["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)"; -- Eine IE8-Anfrage simulieren
["Cookie"] = "a=1; b=2; c=3"; -- Zusätzlich Cookie übermitteln
};
params = {
["hello"] = "world";
["你好"] = "世界";
};
data = "需要发送过去的数据";
}
if code == 200 then -- Wenn der zurückgegebene Statuscode HTTP_OK ist
sys.alert(body)
end
Hinweis: Der obige Code verwendet die Funktion sys.alert aus einem anderen Kapitel.