


Details zum Senden sehr langer XML-Formulardaten mithilfe von XMLHTTP
Wenn Sie eine große Menge XML als Teil der POST-Daten an Ihren IIS-Server senden – beispielsweise in einem TEXTAREA eines ASP-Formulars – erhalten Sie möglicherweise unerwartete Ergebnisse. Bei der Verarbeitung der Daten auf dem Server kann es aufgrund der Art und Weise, wie Sie die Daten verarbeiten, zu Fehlern kommen. Der Grund dafür ist, dass beim Zurücksenden von Daten an den Server eine (Daten-)Größenbeschränkung im POST-Feld besteht. Damit soll verhindert werden, dass mögliche Eindringlinge bei einem Denial-of-Service-Angriff (DoS) extrem große Datenmengen an den Server senden.
Diese Einschränkung schränkt auch Ihre Fähigkeiten ein. Aber es gibt Möglichkeiten, dieses Problem zu umgehen. Wenn Sie nicht auf das Senden von Daten per FORM-Übermittlung beschränkt sind, können Sie das xmlhttp-Objekt (ein DOM-Objekt im XML-Satz von Microsoft) verwenden, um das erforderliche XML zu senden:
var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP"); oXMLHTTP.open("POST", "xml_handler.asp", false); oXMLHTTP.send(xml_to_send);
Da das Request-Objekt die IStream-Schnittstelle implementiert, können Sie das zu übermittelnde XML laden, indem Sie die Methode „load()“ des DOMDocument-Objekts verwenden:
Dim oDOM Set oDOM = Server.CreateObject("MSXML2.DOMDocument") oDOM.load Request
Wenn Sie nur die Verwendung von FORM Submit verwenden dürfen, ist dies möglich Überwinden Sie dieses Limit, indem Sie mehrere TEXTAREA oder INPUT einreichen. Die ersten beiden können wieder zusammengesetzt werden, sobald der Server die FORM-Daten empfängt:
var MAXLEN = 90000; var oForm = document.createElement("FORM"); oFORM.method = "POST"; oFORM.action = "xml_handler.asp"; oFORM = document.body.appendChild(oFORM); var s = document.someForm.txtXML.value; if (s.length > MAXLEN) { while (s.length > MAXLEN) { var o = document.createElement("INPUT"); o.type = "hidden"; o.name = "txtXML"; o.value = s.substr(0, MAXLEN); oFORM.appendChild(o); s = s.substr(MAXLEN); } var o = document.createElement("INPUT"); o.type = "hidden"; o.name = "txtXML"; o.value = s.substr(0, MAXLEN); oFORM.appendChild(o); } else { var o = document.createElement("INPUT"); o.type = "hidden"; o.name = "txtXML"; o.value = s; oFORM.appendChild(o); }
Dieser Code wird erstellt ein neues FORM-Element, um die Übermittlung von Daten zu verarbeiten und diese im BODY-Element zu platzieren. Anschließend prüft es die Länge des XML-Codes, der an den Server übermittelt werden soll. Dieses XML befindet sich in einem TEXTAREA namens txtXML in someForm.
Wenn das XML größer als der 90.000 Zeichen lange MAXLEN ist, erstellt dieser Code mehrere versteckte INPUT-Elemente und setzt das Wertattribut auf die 90.000 Zeichen langen XML-Daten oder setzt es auf a Geben Sie am Ende des XML-Codes einen Wert ein, um die Daten in mehrere Teile aufzuteilen. Wenn die Größe dieser XML-Datei kleiner als MAXLEN ist, erstellt dieser Code lediglich eine Eingabe und legt den Wert entsprechend fest. Diese Daten werden dann zur Verarbeitung an den Server übermittelt.
Sie haben vielleicht bemerkt, dass ich jedem Feld des neuen Formulars denselben Namen zugewiesen habe – txtXML. Dies trägt dazu bei, die XML-Daten von anderen möglicherweise übermittelten Daten zu trennen und bietet eine einfache Möglichkeit, die XML-Daten neu zu organisieren. Beim Neuorganisieren der Daten benötigen Sie eine einfache Schleife, um die Daten in den Feldern zu verbinden:
Dim str, fld For Each fld In Request.Form("txtXML") str = str & fld Next
Da für jedes FORM-Element ein Feldsatz erstellt wurde, können Sie dies tun Iterieren Sie über Felder mit demselben Namen. Solange Sie FORM-Elemente auf der Clientseite in der richtigen Reihenfolge erstellen, müssen Sie sich keine Gedanken über die Reihenfolge machen, in der die Felder durchlaufen werden. Dies kann einfach über die appendChild()-Methode von FORM erreicht werden.
Daten werden auf dem Client von links nach rechts und von oben nach unten übermittelt. Wenn Sie also das INPUT-Element an das Ende des FORM-Elements anhängen, werden die Daten immer in derselben Reihenfolge empfangen.
Wenn Sie eine große Datenlösung implementieren möchten, z. B. die Übertragung großer Excel-Datenmengen vom Client-Computer auf den Server, sollten Sie noch einmal darüber nachdenken, ob Sie die FORM-Übermittlung verwenden oder die Daten logisch aufteilen möchten in kleinere Teile. Da Sie das Dateityp-INPUT-Element nicht verwenden können, besteht die kreativste Lösung darin, die Daten lokal in XML zu konvertieren und sie dann an den Server zu senden. Die Daten werden wiederum auf dem Server gespeichert, bis eine weitere Verarbeitung erforderlich ist.
Natürlich gibt es möglicherweise einen besseren Weg, dieses Problem zu lösen. Aber wenn Sie nicht viel Zeit haben, brauchen Sie nur eine schnelle, brauchbare Lösung.
Im Folgenden finden Sie Einzelheiten zur Verwendung von XMLHTTP zum Senden ultralanger XML-Formulardaten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Können XML-Dateien mit PPT geöffnet werden? XML, Extensible Markup Language (Extensible Markup Language), ist eine universelle Auszeichnungssprache, die häufig im Datenaustausch und in der Datenspeicherung verwendet wird. Im Vergleich zu HTML ist XML flexibler und kann eigene Tags und Datenstrukturen definieren, wodurch die Speicherung und der Austausch von Daten komfortabler und einheitlicher werden. PPT oder PowerPoint ist eine von Microsoft entwickelte Software zum Erstellen von Präsentationen. Es bietet eine umfassende Möglichkeit

Der HTTP-Statuscode 520 bedeutet, dass der Server bei der Verarbeitung der Anfrage einen unbekannten Fehler festgestellt hat und keine genaueren Informationen bereitstellen kann. Wird verwendet, um darauf hinzuweisen, dass bei der Verarbeitung der Anforderung durch den Server ein unbekannter Fehler aufgetreten ist, der durch Serverkonfigurationsprobleme, Netzwerkprobleme oder andere unbekannte Gründe verursacht werden kann. Dies wird normalerweise durch Serverkonfigurationsprobleme, Netzwerkprobleme, Serverüberlastung oder Codierungsfehler verursacht. Wenn Sie auf einen Fehler mit dem Statuscode 520 stoßen, wenden Sie sich am besten an den Website-Administrator oder das technische Support-Team, um weitere Informationen und Unterstützung zu erhalten.

Verstehen Sie die Bedeutung des HTTP 301-Statuscodes: Häufige Anwendungsszenarien der Webseitenumleitung. Mit der rasanten Entwicklung des Internets werden die Anforderungen der Menschen an die Webseiteninteraktion immer höher. Im Bereich Webdesign ist die Webseitenumleitung eine gängige und wichtige Technologie, die über den HTTP-301-Statuscode implementiert wird. In diesem Artikel werden die Bedeutung des HTTP 301-Statuscodes und häufige Anwendungsszenarien bei der Webseitenumleitung untersucht. Der HTTP-Statuscode 301 bezieht sich auf eine permanente Weiterleitung (PermanentRedirect). Wenn der Server die des Clients empfängt

HTTP-Statuscode 200: Erkunden Sie die Bedeutung und den Zweck erfolgreicher Antworten. HTTP-Statuscodes sind numerische Codes, die den Status einer Serverantwort angeben. Darunter zeigt der Statuscode 200 an, dass die Anfrage vom Server erfolgreich verarbeitet wurde. In diesem Artikel wird die spezifische Bedeutung und Verwendung des HTTP-Statuscodes 200 untersucht. Lassen Sie uns zunächst die Klassifizierung von HTTP-Statuscodes verstehen. Statuscodes sind in fünf Kategorien unterteilt, nämlich 1xx, 2xx, 3xx, 4xx und 5xx. Unter diesen zeigt 2xx eine erfolgreiche Antwort an. Und 200 ist der häufigste Statuscode in 2xx

Lösung: 1. Überprüfen Sie den Inhaltstyp im Anforderungsheader. 3. Verwenden Sie das entsprechende Codierungsformat. 5. Überprüfen Sie die serverseitige Unterstützung.

Verwenden Sie PHPXML-Funktionen, um XML-Daten zu verarbeiten: XML-Daten analysieren: simplexml_load_file() und simplexml_load_string() laden XML-Dateien oder Strings. Auf XML-Daten zugreifen: Verwenden Sie die Eigenschaften und Methoden des SimpleXML-Objekts, um Elementnamen, Attributwerte und Unterelemente abzurufen. XML-Daten ändern: Fügen Sie neue Elemente und Attribute mit den Methoden addChild() und addAttribute() hinzu. Serialisierte XML-Daten: Die Methode asXML() konvertiert ein SimpleXML-Objekt in einen XML-String. Praxisbeispiel: Produkt-Feed-XML analysieren, Produktinformationen extrahieren, umwandeln und in einer Datenbank speichern.

Wie implementiert man HTTP-Streaming in C++? Erstellen Sie einen SSL-Stream-Socket mit Boost.Asio und der asiohttps-Clientbibliothek. Stellen Sie eine Verbindung zum Server her und senden Sie eine HTTP-Anfrage. Empfangen Sie HTTP-Antwortheader und drucken Sie sie aus. Empfängt den HTTP-Antworttext und gibt ihn aus.

Die HTTP-Anfrage läuft ab und der Server gibt häufig den Statuscode 504GatewayTimeout zurück. Dieser Statuscode zeigt an, dass der Server bei der Ausführung einer Anforderung immer noch nicht in der Lage ist, die für die Anforderung erforderlichen Ressourcen abzurufen oder die Verarbeitung der Anforderung nach einer gewissen Zeit nicht abzuschließen. Es handelt sich um einen Statuscode der 5xx-Reihe, der darauf hinweist, dass beim Server ein vorübergehendes Problem oder eine Überlastung aufgetreten ist, was dazu führt, dass die Anfrage des Clients nicht korrekt verarbeitet werden kann. Im HTTP-Protokoll haben verschiedene Statuscodes spezifische Bedeutungen und Verwendungszwecke, und der Statuscode 504 wird verwendet, um Probleme mit der Zeitüberschreitung von Anfragen anzuzeigen. im Kunden
