web.customRequest
Hiermee kunt u een aangepaste HTTP-aanvraag maken met elke methode die door HTTP wordt ondersteund.
syntaxis
web.customRequest ({object} );
JavaScript-Object
{ 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":}
eigenschapsnaam |
beschrijving
|
---|---|
stepName | de stepnaam. |
url | het adres van de te laden webpagina. De URL kan elk van de volgende protocollen zijn: HTTP, HTTPS of FTP. Voeg voor verificatie-doeleinden zowel de gebruikersnaam als het wachtwoord toe aan het URL-attribuut in het volgende formaat: ftp://username:password@server/dir/path. |
methode | elke HTTP-methode. |
doelframe | de naam van het frame dat de huidige link of bron bevat. Zie targetframe voor meer informatie. |
encType | de coderingsmethode. Zie details hieronder. |
recContentType | de” Content–Type ” RESPONSE header waarde zoals vastgelegd, bijvoorbeeld text/html, application / x–javascript. De waarde recContentType wordt gebruikt wanneer het bronkenmerk niet is opgegeven om te bepalen of de doel-URL al dan niet een bron is. Zie reccontentType en bron voor meer informatie |
referer | de webpagina die naar de huidige pagina verwijst. Als de locatie expliciet is aangegeven, wordt dit kenmerk weggelaten. |
bodyUnicode | de body staat in Latin1 UTF-16LE (little–endian) Unicode. Zie “Body” hieronder. |
bodyBinary | het lichaam is in binaire code. Zie “Body” hieronder. |
instantie | de instantie die het verzoek indient. Zie “Body” hieronder. |
bodyFilePath | het pad naar een bestand dat als body van het verzoek moet worden doorgegeven. bodyFilepath kan niet samen met andere body-attributen worden gebruikt. |
bron | een van de volgende bronnen:
|
resourceByteLimit | zie resourceByteLimit. |
snapshot | de bestandsnaam van het snapshot-bestand. |
modus | het opnameniveau: HTML of HTTP. Zie opnameniveau / – modus (Web). |
extraResBaseDir | de basis-URL voor het oplossen van relatieve URL ‘ s binnen de extraRes-groep. Voor meer informatie, zie hieronder. |
userAgent | de HTTP-header die de toepassing identificeert die de gebruiker vertegenwoordigt in de interactie met de server. Voor meer informatie, zie hieronder. |
contentEncoding | Codering voor aanvraagtekst. Bijvoorbeeld, gzip of deflate. |
rawBody | de inhoud van het verzoek wordt doorgegeven als een verwijzing naar de gegevens. |
extraRes | bronnen gegenereerd door niet-HTML-mechanismen op de webpagina. |
retourwaarden
niet van toepassing
parametrering
alle eigenschappen kunnen worden geparametreerd met behulp van standaard parametrering, behalve de stepnaam.
Algemene informatie
het web.customRequest-functie is een actiefunctie waarmee u een aangepaste HTTP-aanvraag kunt maken met behulp van een methode of lichaam. (Elke web actie functie in een script zorgt ervoor dat de browser om een nieuwe webpagina of frame weer te geven. Alle Web actie functies kunnen worden opgenomen door VuGen. Standaard genereert VuGen deze functie alleen voor verzoeken die niet geïnterpreteerd konden worden met andere webfuncties.
gebruik het dialoogvenster Stap toevoegen om deze functie handmatig in te voegen. Als u een HTTP-header wilt opgeven die vóór het aangepaste verzoek moet worden verzonden, voegt u een web toe.addHeader of web.addauto header functie.
de HTTP-header kan worden gewijzigd om aanvullende informatie over het verzoek aan de server door te geven. Met behulp van HTTP-headers kunt u bijvoorbeeld andere inhoudstypen toestaan in het antwoord, zoals gecomprimeerde bestanden, of u kunt alleen onder bepaalde voorwaarden een webpagina aanvragen. Zie web om de HTTP-header in de aanvraag te wijzigen.addHeader. Zie web om alle volgende verzoeken te wijzigen.addauto header.
Body
de body van een verzoek wordt doorgegeven als de waarde van een van de argumenten body, bodyBinary of bodyUnicode, afhankelijk van de inhoud. Je kunt maar één body* argument passeren.
voorbeelden van body SPECIFICATIES:
bodyUnicode:" REPRICE"bodyBinary:"\x08\\x00\\xCC\\x02\\x00\\x00"body:".\r\n–dxjjtbw/(.TP?eg:ch/6--\r\n "
alle body waarden zijn ASCII, null–terminated strings.
body-geeft normale, afdrukbare tekst aan. Null bytes kunnen niet worden weergegeven. Alle tekens worden opgegeven met een backslash.
bodyBinary-geeft binaire code aan. Niet-afdrukbare tekens worden gecodeerd in hexadecimaal in de vorm \ \ xHH, waarbij HH de hexadecimale waarde specificeert. NULL bytes worden opgegeven door “\\00”
bodyUnicode-US-Engels, specifiek Latin1 UTF-16LE (little–endian) alleen Unicode. De werkelijke parameter wordt ontdaan van de extra nul byte die elk teken toevoegt om gemakkelijker het lezen van de tekst mogelijk te maken. Het wordt opnieuw toegevoegd door web.customRequest alvorens naar de webserver te verzenden.
voor niet-afdrukbare tekens gebruikt u een enkele backslash. Null bytes kunnen niet worden weergegeven.
voor een body met een lengte van meer dan 100K verschijnt een variabelnaam in plaats van het attribuut. De variabele wordt gedefinieerd in lrw_custom_body.h.
encType
encType specificeert een inhoudstype, zoals “text / html”, dat moet worden opgegeven als de waarde van de” Content–Type ” – aanvraagheader voor de huidige replay. web.customRequest voert geen body-codering uit. Het body-argument specificeert het body dat gebruikt moet worden zoals het is (of na het toepassen van “binaire” verwerking), waarbij elke codering al is toegepast. Daarom kan het opgeven van een encType dat niet overeenkomt met de body een server–side fout veroorzaken. In het algemeen wordt het aanbevolen dat u het encType niet bewerkt zoals vastgelegd.
elke enctype-specificatie overschrijft stilletjes elke web_add_header voor Content-Type. Als “Enctype=” (lege waarde) is opgegeven, wordt geen “Content–Type” request header gegenereerd. Als “encType” wordt weggelaten, wordt elke toepasselijke web_add_header gebruikt. Als er geen header en “method=POST” is, wordt “application/x–www–form–urlencoded” standaard gebruikt. Anders wordt er geen Content–Type request header gegenereerd.
extraRes
de extra Resource attributen worden alleen ingevoegd bij het uitvoeren van HTML-gebaseerde opname en de geavanceerde opname optie “niet-HTML-gegenereerde elementen” is ingesteld op Opnemen binnen de huidige scriptstap. Dit is de standaardinstelling. Raadpleeg het Helpcentrum voor Virtual User Generator (selecteer de relevante versie) voor meer informatie.
de extraResBaseDir is de basis-URL voor het oplossen van relatieve URL ‘ s binnen de extraRes-groep. Url ‘ s kunnen absoluut zijn (zoals “http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”) of relatief (zoals “forecast.jsp?loccode = LFPO”). Het daadwerkelijk downloaden van URL ’s wordt altijd uitgevoerd met absolute URL’ s, zodat relatieve URL ‘ s moeten worden opgelost met behulp van een andere (absolute) URL als “basis”. Bijvoorbeeld, het oplossen van de relatieve ” prognose.jsp?loccode = LFPO “met behulp van” http://weather.abc.com/weather/ ” als basis zal “http://weather.abc.com/weather/forecast.jsp?loccode=LFPO ” opleveren. Als “extrabasedir” niet is opgegeven, wordt standaard de primaire URL van de functie gebruikt.
userAgent
de userAgent is de HTTP-header die de toepassing identificeert, meestal een browser, die de gebruiker vertegenwoordigt in de interactie met de server.
bijvoorbeeld, de header “User–Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” identificeert Microsoft Internet Explorer 6.0 Voor Windows NT. Andere user-Agent strings worden gebruikt voor verschillende browsers en voor andere, niet–browser toepassingen. Gewoonlijk gebruiken alle aanvragen van een toepassing dezelfde user–Agent-waarde, die de recorder opgeeft als een runtime-instelling. Zelfs binnen een gewone browsersessie kunnen er echter niet-browsercomponenten zijn (bijvoorbeeld Active–X) die rechtstreeks met een server communiceren en meestal een andere User–Agent string hebben dan de browser.
het opgeven van een userAgent geeft aan dat dit een dergelijke niet–browseraanvraag is. De opgegeven tekenreeks wordt gebruikt in de HTTP-header “User-Agent:” en beïnvloedt het gedrag van de Replay op sommige punten, bijvoorbeeld door niet de browsercache te gebruiken, ervan uitgaande dat de opgegeven URL ‘ s bronnen zijn, enz. Er wordt geen controle uitgevoerd om te controleren of de opgegeven waarde verschilt van die van de browser.
met behulp van binaire code
kunt u het volgende formaat gebruiken om binaire code op te nemen in de body parameter van een web.customRequest functie:
\x
dit vertegenwoordigt de hexadecimale waarde die wordt weergegeven door .
bijvoorbeeld: \x24 is 16*2+4 = 36, wat een $ teken is; \x2B is + teken.
sequenties die geen geldige hexadecimale sequenties van 2 tekens vertegenwoordigen, worden door VuGen behandeld als ASCII-tekst. Gebruik geen hexadecimale reeksen van 1 tekens. “\X2″ is bijvoorbeeld geen geldige hexadecimale reeks van 2 tekens. Gebruik in plaats daarvan” \x02″.
merk op dat binaire waarden in een script verschijnen als \\x, dat wil zeggen dat de “x” wordt voorafgegaan door twee backslashes. Echter, bij het genereren van een web.customRequest functie door gebruik te maken van VuGen, hoeft u slechts één backslash te typen.
Als u parametrering binnen een web gebruikt.customRequest functie, omvatten slechts één backslash binnen de definitie van de parameter.
voorbeeld
web.customRequest ({ naam: 'click_for_next.gif', url: 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', methode: 'GET', bron: 1, recContentType : 'image/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=', snapshot: 't9.inf'});