décembre 16, 2021

Web.customRequest

Vous permet de créer une requête HTTP personnalisée avec n’importe quelle méthode prise en charge par HTTP.

Syntaxe

 web.customRequest ({ objet} );

Objet JavaScript

{ 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":}
Nom de la propriété
Description
stepName Le nom de l’étape.
url L’adresse de la page web à charger. L’URL peut être l’un des protocoles suivants : HTTP, HTTPS ou FTP. À des fins d’authentification, incluez à la fois le nom d’utilisateur et le mot de passe dans l’attribut URL en utilisant le format suivant : ftp://username:password@server/dir/path .
méthode Toute méthode HTTP.
targetFrame Nom de la trame contenant le lien ou la ressource en cours. Voir targetframe pour plus d’informations.
Saisissez La méthode de codage. Voir les détails ci-dessous.
recContentType La valeur d’en–tête de RÉPONSE « Content–Type » telle qu’enregistrée, par exemple, text/html, application/x-javascript. La valeur recContentType est utilisée lorsque l’attribut de ressource n’est pas spécifié pour déterminer si l’URL cible est une ressource ou non. Pour plus de détails, voir reccontentType et ressource
referer La page Web qui renvoie à la page en cours. Si l’emplacement a été explicitement exprimé, cet attribut est omis.
bodyUnicode Le corps est en Latin1 UTF-16LE (petit–endian) Unicode. Voir « Corps » ci-dessous.
bodyBinary Le corps est en code binaire. Voir « Corps » ci-dessous.
body Le corps de la requête. Voir « Corps » ci-dessous.
bodyFilePath Chemin d’accès à un fichier à transmettre en tant que corps de la requête. bodyFilepath ne peut être utilisé avec aucun autre attribut corporel.
ressource L’une des ressources suivantes :

  • 0 – Pas une ressource. L’échec du téléchargement est une erreur.
  • 1 – Ressource. Téléchargé uniquement si le paramètre d’exécution « Télécharger des ressources non HTML » est défini. L’échec du téléchargement est un avertissement. Non analysé en HTML.
Consultez resourceByteLimit Voir resourceByteLimit.
snapshot Nom de fichier du fichier snapshot.
mode Le niveau d’enregistrement : HTML ou HTTP. Voir Niveau/mode d’enregistrement (Web).
extraResBaseDir L’URL de base pour résoudre les URL relatives au sein du groupe extraRes. Pour plus d’informations, voir ci-dessous.
userAgent L’en-tête HTTP identifiant l’application qui représente l’utilisateur dans l’interaction avec le serveur. Pour plus d’informations, voir ci-dessous.
Encodage de contenu pour le corps de la requête. Par exemple, gzip ou dégonfler.
rawBody Le corps de la requête est passé en tant que pointeur vers les données.
extraRes Ressources générées par des mécanismes non HTML dans la page Web.

Valeurs de retour

Sans objet

Paramétrage

Toutes les propriétés peuvent être paramétrées à l’aide d’un paramétrage standard, à l’exception du nom d’étape.

Informations générales

Le web.La fonction customRequest est une fonction d’action qui vous permet de créer une requête HTTP personnalisée en utilisant n’importe quelle méthode ou corps. (Chaque fonction d’action Web d’un script provoque l’affichage par le navigateur d’une nouvelle page Web ou d’un nouveau cadre. Toutes les fonctions d’action Web peuvent être enregistrées par VuGen.) Par défaut, VuGen génère cette fonction uniquement pour les requêtes qui n’ont pas pu être interprétées avec d’autres fonctions Web.

Pour insérer cette fonction manuellement, utilisez la boîte de dialogue Ajouter une étape. Pour spécifier un en-tête HTTP à envoyer avant la demande personnalisée, ajoutez un web.addHeader ou web.Fonction addAutoHeader.

L’en-tête HTTP peut être modifié pour transmettre des informations supplémentaires sur la requête au serveur. En utilisant les en-têtes HTTP, vous pouvez, par exemple, autoriser d’autres types de contenu dans la réponse, tels que des fichiers compressés, ou vous pouvez demander une page Web uniquement à certaines conditions. Pour modifier l’en-tête HTTP dans la requête, consultez web.Ajouter un en-tête. Pour modifier toutes les requêtes suivantes, consultez web.Ajouter un en-tête.

Body

Le corps d’une requête est passé comme la valeur de l’un des arguments body, bodyBinary ou bodyUnicode, selon le contenu. Vous ne pouvez passer qu’un seul argument body*.

Exemples de spécifications du corps :

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

Toutes les valeurs du corps sont des chaînes ASCII à terminaison nulle.

body – indique un texte régulier imprimable. Les octets nuls ne peuvent pas être représentés. Tous les caractères sont spécifiés avec une barre oblique inverse.

bodyBinary – indique le code binaire. Les caractères non imprimables sont codés en hexadécimal sous la forme \\xHH, où HH spécifie la valeur hexadécimale. Les octets NULS sont spécifiés par « \\00 »

bodyUnicode – Anglais américain, plus précisément Latin1 UTF-16LE (petit–endian) Unicode uniquement. Le paramètre réel est dépouillé de l’octet zéro supplémentaire ajoutant chaque caractère pour faciliter la lecture du texte. Il est ré-ajouté par web.Demande personnalisée avant l’envoi au serveur Web.
Pour les caractères non imprimables, utilisez une seule barre oblique inverse. Les octets nuls ne peuvent pas être représentés.

Pour un corps dont la longueur est supérieure à 100K, un nom de variable apparaît à la place de l’attribut. La variable est définie dans lrw_custom_body.h.

encType

encType spécifie un Type de contenu, tel que « text/html », à spécifier comme valeur de l’en–tête de REQUÊTE « Content-Type » pour la relecture en cours. Web.customRequest n’effectue aucun encodage corporel. L’argument body spécifie le corps à utiliser tel quel (ou après application d’un traitement  » binaire « ), tout codage ayant déjà été appliqué. Par conséquent, la spécification d’un type d’encType qui ne correspond pas au corps peut entraîner une erreur côté serveur. En général, il est recommandé de ne pas modifier l’encType tel qu’enregistré.

Toute spécification encType remplace silencieusement n’importe quel web_add_header pour le type de contenu. Si « encType= » (valeur vide) est spécifié, aucun en–tête de requête « Content-Type » n’est généré. Si « encType » est omis, tout web_add_header applicable est utilisé. S’il n’y a pas d’en–tête et « method=POST », « application/x–www–form-urlencoded » est utilisé par défaut. Sinon, aucun en–tête de requête de type de contenu n’est généré.

extraRes

Les attributs de ressources supplémentaires ne sont insérés que lors de l’enregistrement basé sur HTML et l’option d’enregistrement avancé  » Éléments non générés par HTML » est définie sur Enregistrer dans l’étape de script en cours. C’est le paramètre par défaut. Pour plus d’informations, consultez le Centre d’aide du Générateur d’utilisateurs virtuels (sélectionnez la version appropriée).

Extrapresbasedir est l’URL de base pour résoudre les URL relatives au sein du groupe extraRes. Les URL peuvent être absolues (comme « http://weather.abc.com/weather/forecast.jsp?loccode=LFPO ») ou relatives (comme « forecast.jsp?loccode = LFPO »). Le téléchargement réel des URL est toujours effectué en utilisant des URL absolues, de sorte que les URL relatives doivent être résolues en utilisant une autre URL (absolue) comme « base ». Par exemple, résoudre la prévision relative « .jsp?loccode=LFPO « utiliser « http://weather.abc.com/weather/ » comme base donnera « http://weather.abc.com/weather/forecast.jsp?loccode=LFPO ». Par défaut, lorsque « Extrapresbasedir » n’est pas spécifié, l’URL principale de la fonction est utilisée.

userAgent

L’agent utilisateur est l’en-tête HTTP identifiant l’application, généralement un navigateur, qui représente l’utilisateur dans l’interaction avec le serveur.

Par exemple, l’en–tête  » User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) » identifie Microsoft Internet Explorer 6.0 pour Windows NT. D’autres chaînes d’agent utilisateur sont utilisées pour différents navigateurs et pour d’autres applications non liées au navigateur. Habituellement, toutes les requêtes d’une application utilisent la même valeur d’agent utilisateur, que l’enregistreur spécifie comme paramètre d’exécution. Cependant, même dans une session de navigateur ordinaire, il peut y avoir des composants non–navigateur (par exemple, Active–X) qui interagissent directement avec un serveur et ont généralement une chaîne d’agent utilisateur différente de celle du navigateur.

La spécification d’un agent utilisateur indique qu’il s’agit d’une requête non liée au navigateur. La chaîne spécifiée est utilisée dans l’en–tête HTTP « User-Agent: » et affecte le comportement de la relecture à certains points, par exemple, en n’utilisant pas le cache du navigateur, en supposant que les URL spécifiées sont des ressources, etc. Aucune vérification n’est effectuée pour vérifier que la valeur spécifiée est différente de celle du navigateur.

En utilisant le code binaire

Vous pouvez utiliser le format suivant pour inclure du code binaire dans le paramètre body d’un web.Fonction customRequest :

\x

Représente la valeur hexadécimale représentée par.

Par exemple : \x24 est 16*2+4 = 36, qui est un signe $; \x2B est un signe +.Les séquences

qui ne représentent pas des séquences hexadécimales valides à 2 caractères sont traitées par VuGen comme du texte ASCII. N’utilisez pas de séquences hexadécimales à 1 caractère. Par exemple, « \x2 » n’est pas une séquence hexadécimale à 2 caractères valide. Utilisez plutôt « \x02 ».

Notez que les valeurs binaires apparaissent dans un script sous la forme \\x, c’est-à-dire que le « x » est précédé de deux barres obliques inverses. Cependant, lors de la génération d’un web.Fonction customRequest en utilisant VuGen, vous devez taper une seule barre oblique inverse.

Si vous utilisez le paramétrage dans un web.Fonction customRequest, inclure une seule barre oblique inverse dans la définition du paramètre.

Exemple

 web.customRequest({nom: 'click_for_next.gif', url: 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', méthode: 'GET', ressource: 1, Recontenttype : 'image/gif', référent: '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=', instantané: 't9.inf' }); 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.