web.customRequest
vă permite să creați o solicitare HTTP personalizată cu orice metodă acceptată de HTTP.
sintaxă
web.customRequest ({obiect} );
obiect 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":}
numele proprietății |
descriere
|
---|---|
stepName | numele pasului. |
url | adresa paginii web de încărcat. Adresa URL poate fi oricare dintre următoarele protocoale: HTTP, HTTPS sau FTP. În scopuri de autentificare, includeți atât numele de utilizator, cât și parola în atributul URL utilizând următorul format: ftp://username:password@server/dir/path. |
metoda | orice metodă HTTP. |
targetFrame | numele cadrului care conține legătura sau resursa curentă. A se vedea targetframe pentru mai multe informații. |
encType | metoda de codificare. Vezi detalii mai jos. |
recContentType | valoarea antetului de răspuns „Content–Type” înregistrată, de exemplu, text/html, aplicație/x–javascript. Valoarea recContentType este utilizată atunci când atributul resource nu este specificat pentru a determina dacă URL-ul țintă este o resursă sau nu. Pentru detalii, consultați reccontentType și resource |
referer | pagina web care se referă la pagina curentă. Dacă locația a fost exprimată în mod explicit, acest atribut este omis. |
bodyUnicode | corpul este în Latin1 UTF–16le (little–endian) Unicode. Vedeți „corpul” de mai jos. |
bodyBinary | corpul este în cod binar. Vedeți „corpul” de mai jos. |
corp | organismul de cerere. Vedeți „corpul” de mai jos. |
bodyFilePath | calea către un fișier care urmează să fie trecut ca corp al cererii. bodyFilepath nu poate fi utilizat împreună cu orice alt atribut de corp. |
resursă | una dintre:
|
resourceByteLimit | a se vedea resourceByteLimit. |
instantaneu | numele fișierului fișierului instantaneu. |
mod | nivelul de înregistrare: HTML sau HTTP. Consultați nivelul / modul de înregistrare (Web). |
extraResBaseDir | URL-ul de bază pentru rezolvarea URL-uri relative în cadrul grupului extraRes. Pentru mai multe informații, consultați mai jos. |
userAgent | antetul HTTP care identifică aplicația care reprezintă utilizatorul în interacțiunea cu serverul. Pentru mai multe informații, consultați mai jos. |
contentEncoding | codare pentru corp cerere. De exemplu, gzip sau dezumfla. |
rawBody | corpul cererii este transmis ca un pointer la date. |
extraRes | resurse generate de mecanisme non–HTML în pagina web. |
valorile de returnare
nu se aplică
Parametrizare
toate proprietățile pot fi parametrizate folosind parametrizarea standard, cu excepția numelui vitreg.
Informații generale
web.funcția customRequest este o funcție de acțiune care vă permite să creați o solicitare HTTP personalizată folosind orice metodă sau corp. (Fiecare funcție de acțiune web dintr-un script determină browserul să afișeze o nouă pagină web sau un cadru. Toate funcțiile de acțiune web pot fi înregistrate de VuGen.) În mod implicit, VuGen generează această funcție numai pentru cereri care nu au putut fi interpretate cu alte funcții web.
pentru a insera manual această funcție, utilizați caseta de dialog Adăugare pas. Pentru a specifica un antet HTTP care trebuie trimis înainte de solicitarea particularizată, adăugați un web.addHeader sau web.funcția addAutoHeader.
antetul HTTP poate fi modificat pentru a transmite informații suplimentare despre solicitare către server. Utilizarea anteturilor HTTP puteți, de exemplu, să permiteți alte tipuri de conținut în Răspuns, cum ar fi fișiere comprimate sau puteți solicita o pagină web numai în anumite condiții. Pentru a modifica antetul HTTP din cerere, consultați web.addHeader. Pentru a modifica toate solicitările ulterioare, consultați web.addAutoHeader.
Body
corpul unei cereri este transmis ca valoare a unuia dintre argumentele body, bodyBinary sau bodyUnicode, în funcție de conținut. Puteți trece doar un singur corp * argument.
Exemple de specificatii ale corpului:
bodyUnicode:"REPRICE" bodyBinary:"\x08\\x00\\xCC\\x02\\x00\\x00" body:".\r\n–dxjjtbw/(.tp?de exemplu:ch/6--\r\n"
toate valorile corpului sunt ASCII, siruri de caractere null–terminate.
corp – indică text obișnuit, imprimabil. Octeții nuli nu pot fi reprezentați. Toate caracterele sunt specificate cu un backslash.
bodyBinary – indică codul binar. Caracterele neimprimabile sunt codificate în hexazecimal în forma \ \ xHH, unde HH specifică valoarea hexazecimală. Octeții nuli sunt specificați de „\\00”
bodyUnicode-SUA-engleză, în special Latin1 UTF–16LE (little–endian) Unicode numai. Parametrul real este eliminat din octetul zero suplimentar care adaugă fiecare caracter pentru a permite citirea mai ușoară a textului. Acesta este re-anexat de web.customRequest înainte de a trimite la serverul web.
pentru caractere neimprimabile utilizați un singur backslash. Octeții nuli nu pot fi reprezentați.
pentru un corp a cărui lungime este peste 100k, apare un nume de variabilă în locul atributului. Variabila este definită în lrw_custom_body.h.
encType
encType specifică un tip de conținut, cum ar fi „text/html”, care trebuie specificat ca valoare a antetului de solicitare „Content–Type” pentru reluarea curentă. web.customRequest efectuează nici o codificare a corpului. Argumentul corpului specifică corpul care trebuie utilizat așa cum este (sau după aplicarea procesării „binare”), orice codificare fiind deja aplicată. Prin urmare, specificarea unui encType care nu se potrivește cu corpul poate provoca o eroare pe partea serverului. În general, este recomandat să nu editați encType așa cum a fost înregistrat.
orice specificație encType înlocuiește în tăcere orice web_add_header pentru tipul de conținut. Dacă este specificat” encType= „(valoare goală), Nu este generat niciun antet de solicitare” Content–Type”. Dacă „encType” este omis, se utilizează orice web_add_header aplicabil. Dacă nu există antet și „method = POST”, „application/x–www–form–urlencoded” este folosit ca implicit. În caz contrar, nu este generat niciun antet de cerere de tip conținut.
extraRes
atributele de resurse suplimentare sunt inserate numai atunci când efectuați înregistrarea bazată pe HTML și opțiunea de înregistrare avansată „non HTML-generated elements” este setată să înregistreze în pasul script curent. Aceasta este setarea implicită. Pentru mai multe informații, consultați Centrul de ajutor pentru generatorul de utilizatori virtuali (selectați versiunea relevantă).
extraResBaseDir este URL-ul de bază pentru rezolvarea URL-uri relative în cadrul grupului extraRes. URL-urile pot fi absolute (cum ar fi „http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”) sau relative (cum ar fi „prognoza.jsp?loccode=LFPO”). Descărcarea efectivă a adreselor URL se efectuează întotdeauna folosind adrese URL absolute, astfel încât adresele URL relative trebuie rezolvate folosind o altă adresă URL (absolută) ca „bază”. De exemplu, rezolvarea relativă ” Prognoza.jsp?loccode = LFPO” folosind „http://weather.abc.com/weather/” ca bază va produce „http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”. În mod implicit, atunci când „extraResBaseDir” nu este specificat, se utilizează adresa URL principală a funcției.
userAgent
userAgent este antetul HTTP care identifică aplicația, de obicei un browser, care reprezintă utilizatorul în interacțiunea cu serverul.
de exemplu, antetul „User–Agent: Mozilla/4.0 (compatibil; MSIE 6.0; Windows NT 5.0)” identifică Microsoft Internet Explorer 6.0 Pentru Windows NT. Alte șiruri User-Agent sunt utilizate pentru diferite browsere și pentru alte aplicații non–browser. De obicei, toate cererile dintr–o aplicație utilizează aceeași valoare User–Agent, pe care înregistratorul o specifică ca setare de execuție. Cu toate acestea, chiar și într–o sesiune obișnuită de browser, pot exista componente non–browser (de exemplu, Active–X) care interacționează direct cu un server și, de obicei, au un șir utilizator-Agent diferit de browser.
specificarea unui agent utilizator indică faptul că aceasta este o astfel de solicitare non–browser. Șirul specificat este utilizat în antetul HTTP” User–Agent: „și afectează comportamentul redării în anumite puncte, de exemplu, prin neutilizarea cache-ului browserului, presupunând că adresele URL specificate sunt resurse etc. Nu se face nicio verificare pentru a verifica dacă valoarea specificată este diferită de cea a browserului.
utilizarea codului binar
puteți utiliza următorul format pentru a include codul binar în parametrul corp al unui web.funcția customRequest:
\x
aceasta reprezintă valoarea hexazecimală care este reprezentată de .
de exemplu: \x24 este 16*2+4 = 36, care este un semn$; \x2B este + semn.
secvențele care nu reprezintă secvențe hexazecimale valide cu 2 caractere sunt tratate de VuGen ca text ASCII. Nu utilizați secvențe hexazecimale cu 1 caracter. De exemplu,” \x2 ” nu este o secvență hexazecimală validă de 2 caractere. Utilizați” \ x02″, în schimb.
rețineți că valorile binare apar într-un script ca \\x, adică „x” este precedat de două backslash-uri. Cu toate acestea, atunci când generați un web.funcția customRequest utilizând VuGen, trebuie să tastați un singur backslash.
dacă utilizați parametrizarea într-un web.funcția customRequest, include doar un singur backslash în definiția parametrului.
exemplu
web.customRequest ({nume : 'click_for_next.gif', url : 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', metodă : 'GET', resursă : 1, recContentType : 'imagine / 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=', instantaneu: 't9.inf'});