Dezember 16, 2021

Web.customRequest

Ermöglicht das Erstellen einer benutzerdefinierten HTTP-Anforderung mit jeder von HTTP unterstützten Methode.

Syntax

Netz.customRequest( {Objekt} );

JavaScript-Objekt

{ stepName:"<string>", url:"<string>", method:"<string>", targetFrame:"<string>", encType:"<string>", recContentType:"<string>", referer:"<string>", bodyUnicode:"<string>", bodyBinary:"<string>", body:"<string>", bodyFilePath:"<string>", resource:"<string>", resourceByteLimit:"<string>", snapshot:"<string>", mode:"<string>", extraResBaseDir:"<string>", userAgent:"<string>", contentEncoding:"<string>", rawBody:{ content:"<string>", length:"<string>" }, "extraRes":}
Objektname
Beschreibung
stepName Der Schrittname.
url Die Adresse der zu ladenden Webseite. Die URL kann eines der folgenden Protokolle sein: HTTP, HTTPS oder FTP. Geben Sie zu Authentifizierungszwecken sowohl den Benutzernamen als auch das Kennwort im URL-Attribut im folgenden Format an: ftp://username:password@server/dir/path.
methode Jede HTTP-Methode.
targetFrame Der Name des Frames, der den aktuellen Link oder die aktuelle Ressource enthält. Weitere Informationen finden Sie unter targetframe.
encType Die Codierungsmethode. Siehe Details unten.
recContentType Der aufgezeichnete Antwortheaderwert „Content-Type“, z. B. text/ html, application/x–javascript. Der recContentType-Wert wird verwendet, wenn das Ressourcenattribut nicht angegeben ist, um festzustellen, ob die Ziel-URL eine Ressource ist oder nicht. Einzelheiten finden Sie unter reccontentType und Ressource
referer Die Webseite, die auf die aktuelle Seite verweist. Wenn die Position explizit angegeben wurde, wird dieses Attribut weggelassen.
bodyUnicode Der Körper ist in Latin1 UTF–16LE (Little–Endian) Unicode. Siehe „Körper“ unten.
bodyBinary Der Körper ist im Binärcode. Siehe „Körper“ unten.
body Der Anforderungstext. Siehe „Körper“ unten.
bodyFilePath Der Pfad zu einer Datei, die als Hauptteil der Anforderung übergeben werden soll. bodyFilepath kann nicht zusammen mit anderen Body-Attributen verwendet werden.
ressource Eine von:

  • 0 – Keine Ressource. Download-Fehler ist ein Fehler.
  • 1 – Ressource. Wird nur heruntergeladen, wenn die Laufzeiteinstellung „Nicht–HTML-Ressourcen herunterladen“ festgelegt ist. Download-Fehler ist eine Warnung. Nicht als HTML analysiert.
resourceByteLimit Siehe resourceByteLimit.
snapshot Der Dateiname der Snapshot-Datei.
modus Die Aufnahme Ebene: HTML oder HTTP. Siehe Aufnahmepegel / -modus (Web).
extraResBaseDir Die Basis-URL zum Auflösen relativer URLs innerhalb der extraRes-Gruppe. Weitere Informationen finden Sie unten.
UserAgent Der HTTP-Header, der die Anwendung identifiziert, die den Benutzer in der Interaktion mit dem Server darstellt. Weitere Informationen finden Sie unten.
contentEncoding Codierung für den Anforderungstext. Zum Beispiel gzip oder deflate.
rawBody Der Hauptteil der Anforderung wird als Zeiger auf die Daten übergeben.
extraRes Ressourcen, die von Nicht–HTML-Mechanismen auf der Webseite generiert werden.

Rückgabewerte

Nicht zutreffend

Parametrierung

Mit Ausnahme des Schrittnamens können alle Eigenschaften mit der Standardparametrierung parametriert werden.

Allgemeine Informationen

Das Web.Die customRequest-Funktion ist eine Aktionsfunktion, mit der Sie eine benutzerdefinierte HTTP-Anforderung mit einer beliebigen Methode oder einem beliebigen Textkörper erstellen können. (Jede Webaktionsfunktion in einem Skript bewirkt, dass der Browser eine neue Webseite oder einen neuen Frame anzeigt. Alle Web-Action-Funktionen können von VuGen aufgezeichnet werden.) Standardmäßig generiert VuGen diese Funktion nur für Anfragen, die nicht mit anderen Webfunktionen interpretiert werden konnten.

Um diese Funktion manuell einzufügen, verwenden Sie das Dialogfeld Schritt hinzufügen. Um einen HTTP-Header anzugeben, der vor der benutzerdefinierten Anforderung gesendet werden soll, fügen Sie ein Web hinzu.AddHeader oder Web.addAutoHeader Funktion.

Der HTTP-Header kann geändert werden, um zusätzliche Informationen über die Anforderung an den Server zu übergeben. Mithilfe von HTTP-Headern können Sie beispielsweise andere Inhaltstypen in der Antwort zulassen, z. B. komprimierte Dateien, oder Sie können eine Webseite nur unter bestimmten Bedingungen anfordern. Informationen zum Ändern des HTTP-Headers in der Anforderung finden Sie unter web.AddHeader. Informationen zum Ändern aller nachfolgenden Anforderungen finden Sie unter web.addAutoHeader.

Body

Der Body einer Anforderung wird je nach Inhalt als Wert eines der Argumente body, bodyBinary oder bodyUnicode übergeben. Sie können nur ein body * Argument übergeben.

Beispiele für Körperspezifikationen:

 bodyUnicode:"REPRICE" bodyBinary: "\x08\\x00\\xCC\\x02\\x00\\x00" body:".\r\n–dxjjtbw/(.tp?eg:ch/6--\r\n" 

Alle Körperwerte sind ASCII–Zeichenfolgen mit Nullterminierung.

body – gibt regulären, druckbaren Text an. Nullbytes können nicht dargestellt werden. Alle Zeichen werden mit einem Backslash angegeben.

bodyBinary – gibt den Binärcode an. Nicht druckbare Zeichen werden hexadezimal in der Form \\xHH codiert, wobei HH den Hexadezimalwert angibt. Nullbytes werden angegeben durch „\\00“

bodyUnicode – US-Englisch, speziell nur Latin1 UTF–16LE (Little–Endian) Unicode. Der tatsächliche Parameter wird von dem zusätzlichen Nullbyte befreit, das jedes Zeichen anhängt, um das Lesen des Textes zu erleichtern. Es wird von web erneut angehängt.customRequest vor dem Senden an den Webserver.
Verwenden Sie für nicht druckbare Zeichen einen einzelnen umgekehrten Schrägstrich. Nullbytes können nicht dargestellt werden.

Für einen Body mit einer Länge von über 100 KB wird anstelle des Attributs ein Variablenname angezeigt. Die Variable ist in lrw_custom_body definiert.h.

encType

encType gibt einen Inhaltstyp an, z. B. „text/html“, der als Wert des Anforderungsheaders „Content–Type“ für die aktuelle Wiedergabe angegeben werden soll. Web.customRequest führt keine Body-Codierung durch. Das Argument body gibt den body an, der unverändert (oder nach Anwendung der „binären“ Verarbeitung) verwendet werden soll, wobei bereits eine beliebige Codierung angewendet wurde. Daher kann die Angabe eines encType, der nicht mit dem Body übereinstimmt, einen serverseitigen Fehler verursachen. Im Allgemeinen wird empfohlen, den encType nicht wie aufgezeichnet zu bearbeiten.

Jede encType-Spezifikation überschreibt stillschweigend jeden web_add_header für den Inhaltstyp. Wenn „encType=“ (leerer Wert) angegeben wird, wird kein Anforderungsheader „Content–Type“ generiert. Wenn „encType“ weggelassen wird, wird jeder anwendbare web_add_header verwendet. Wenn es keinen Header und „method=POST“ gibt, wird „application / x–www–form–urlencoded“ als Standard verwendet. Andernfalls wird kein Content-Type-Anforderungsheader generiert.

extraRes

Die zusätzlichen Ressourcenattribute werden nur eingefügt, wenn eine HTML-basierte Aufzeichnung durchgeführt wird und die erweiterte Aufzeichnungsoption „Nicht HTML-generierte Elemente“ auf Aufzeichnung innerhalb des aktuellen Skriptschritts eingestellt ist. Dies ist die Standardeinstellung. Weitere Informationen finden Sie im Virtual User Generator Help Center (wählen Sie die entsprechende Version aus).

Der extraResBaseDir ist die Basis-URL zum Auflösen relativer URLs innerhalb der extraRes-Gruppe. URLs können absolut (wie „http://weather.abc.com/weather/forecast.jsp?loccode=LFPO“) oder relativ (wie „) sein.jsp?loccode=LFPO“). Das eigentliche Herunterladen von URLs erfolgt immer mit absoluten URLs, so dass relative URLs mit einer anderen (absoluten) URL als „Basis“ aufgelöst werden müssen. Zum Beispiel die Auflösung der relativen „Prognose.jsp?loccode=LFPO“ mit „http://weather.abc.com/weather/“ als Basis ergibt „http://weather.abc.com/weather/forecast.jsp?loccode=LFPO“. Wenn „extraResBaseDir“ nicht angegeben ist, wird standardmäßig die primäre URL der Funktion verwendet.

UserAgent

Der UserAgent ist der HTTP-Header, der die Anwendung identifiziert, normalerweise einen Browser, der den Benutzer in der Interaktion mit dem Server darstellt.

Der Header „User–Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)“ kennzeichnet beispielsweise Microsoft Internet Explorer 6.0 für Windows NT. Andere User-Agent-Strings werden für verschiedene Browser und für andere, Nicht–Browser-Anwendungen verwendet. Normalerweise verwenden alle Anforderungen einer Anwendung denselben User-Agent-Wert, den der Rekorder als Laufzeiteinstellung angibt. Selbst innerhalb einer regulären Browsersitzung kann es jedoch Nicht–Browser–Komponenten (z. B. Active–X) geben, die direkt mit einem Server interagieren und normalerweise eine andere User-Agent-Zeichenfolge als der Browser haben.

Die Angabe eines UserAgent zeigt an, dass dies eine solche Nicht–Browser-Anforderung ist. Die angegebene Zeichenfolge wird im HTTP–Header „User-Agent:“ verwendet und beeinflusst das Verhalten des Browsers in einigen Punkten, z. B. indem der Browser-Cache nicht verwendet wird, vorausgesetzt, die angegebenen URLs sind Ressourcen usw. Es wird nicht überprüft, ob der angegebene Wert von dem des Browsers abweicht.

Binärcode verwenden

Sie können das folgende Format verwenden, um Binärcode in den Body-Parameter eines Webs aufzunehmen.customRequest-Funktion:

\x

Dies stellt den Hexadezimalwert dar, der durch dargestellt wird .

Zum Beispiel: \x24 ist 16*2+4 = 36, was ein $ -Zeichen ist; \x2B ist ein + -Zeichen.

Sequenzen, die keine gültigen 2–stelligen Hexadezimalsequenzen darstellen, werden von VuGen als ASCII-Text behandelt. Verwenden Sie keine hexadezimalen 1-Zeichen-Sequenzen. Beispielsweise ist „\x2“ keine gültige 2–stellige Hexadezimalsequenz. Verwenden Sie stattdessen „\x02“.

Beachten Sie, dass Binärwerte in einem Skript als \\x erscheinen, d. H. Dem „x“ werden zwei umgekehrte Schrägstriche vorangestellt. Beim Generieren eines Webs.customRequest-Funktion Mit VuGen müssen Sie nur einen Backslash eingeben.

Wenn Sie die Parametrierung innerhalb eines Webs verwenden.customRequest-Funktion, fügen Sie nur einen Backslash in die Definition des Parameters ein.

Beispiel

web.customRequest( { Name : 'click_for_next.gif', url: 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', Methode: 'GET', Ressource : 1, recContentType : 'bild/gif', referer : 'http://kalimanjaro/Correlation_ASP_Project/Correlation_ASP_business_process.asp?first_field_is=param1&change_first_sessionid_each=three_times&links_forms_usage=links_only&step=1&form_method=GET&sessionid_in_cookie=&use_frameset=&frame_target_is=mainframe&first_sessionid_is_large=&type_of_frame=use_frameset&second_field_is=praram2&change_second_sessionid_each=three_times&second_sessionid_is_large=', Schnappschuss : 't9.inf' });

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.