16 grudnia, 2021

www.customRequest

pozwala na utworzenie niestandardowego żądania HTTP za pomocą dowolnej metody obsługiwanej przez HTTP.

składnia

 www.customRequest ({obiekt} );

obiekt 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":}
nazwa obiektu
opis
stepName nazwa kroku.
url adres strony do wczytania. Adres URL może być jednym z następujących protokołów: HTTP, HTTPS lub FTP. Do celów uwierzytelniania Dołącz nazwę użytkownika i hasło do atrybutu adresu URL w następującym formacie: ftp://username:password@server/dir/path.
metoda dowolna metoda HTTP.
targetFrame nazwa ramki zawierającej bieżące łącze lub zasób. Więcej informacji można znaleźć w targetframe.
encType metoda kodowania. Szczegóły poniżej.
recContentType wartość nagłówka odpowiedzi „Content-Type” zapisana, na przykład text/html, application/x–javascript. Wartość recContentType jest używana, gdy atrybut resource nie jest określony w celu określenia, czy docelowy adres URL jest zasobem, czy nie. Aby uzyskać szczegółowe informacje, zobacz reccontentType i resource
referer strona, która odwołuje się do bieżącej strony. Jeśli lokalizacja została wyraźnie wyrażona, ten atrybut jest pomijany.
bodyUnicode ciało jest w Latin1 UTF–16LE (little–endian) Unicode. Patrz „Body” poniżej.
ciało ciało jest w kodzie binarnym. Patrz „Body” poniżej.
body body żądania. Patrz „Body” poniżej.
bodyFilePath ścieżka do pliku, który ma być przekazany jako treść żądania. bodyFilepath nie może być używany razem z żadnym innym atrybutem body.
zasób jeden z:

  • 0 – nie jest zasobem. Błąd pobierania jest błędem.
  • 1-zasób. Pobierane tylko wtedy, gdy ustawione jest ustawienie „Pobierz zasoby inne niż HTML”. Błąd pobierania jest ostrzeżeniem. Nie parsowane jako HTML.
Resourcebytelimit Zobacz Resourcebytelimit.
migawka nazwa pliku migawki.
tryb poziom nagrywania: HTML lub HTTP. Zobacz poziom / Tryb Nagrywania (Web).
extraResBaseDir bazowy adres URL do rozwiązywania względnych adresów URL w grupie extraRes. Aby uzyskać więcej informacji, zobacz poniżej.
userAgent nagłówek HTTP identyfikujący aplikację, która reprezentuje użytkownika w interakcji z serwerem. Aby uzyskać więcej informacji, zobacz poniżej.
kodowanie treści kodowanie treści żądania. Na przykład gzip lub deflate.
rawBody treść żądania jest przekazywana jako wskaźnik do danych.
extraRes zasoby generowane przez mechanizmy niezwiązane z HTML na stronie.

zwracane wartości

Nie dotyczy

parametryzacja

wszystkie właściwości mogą być parametryzowane przy użyciu standardowej parametryzacji z wyjątkiem stepName.

Informacje ogólne

Internet.funkcja customRequest to funkcja akcji, która umożliwia tworzenie niestandardowego żądania HTTP przy użyciu dowolnej metody lub treści. (Każda funkcja działania sieci Web w skrypcie powoduje, że przeglądarka wyświetla nową stronę internetową lub ramkę. Wszystkie funkcje działania sieci mogą być rejestrowane przez VuGen.) Domyślnie vugen generuje tę funkcję tylko dla żądań, których nie można zinterpretować z innymi funkcjami sieciowymi.

aby wstawić tę funkcję ręcznie, użyj okna dialogowego Dodaj krok. Aby określić nagłówek HTTP, który ma zostać wysłany przed żądaniem niestandardowym, Dodaj sieć.addHeader lub web.funkcja addAutoHeader.

nagłówek HTTP można zmodyfikować, aby przekazać dodatkowe informacje o żądaniu do serwera. Za pomocą nagłówków HTTP można na przykład zezwolić na inne typy zawartości w odpowiedzi, takie jak skompresowane pliki, lub można zażądać strony internetowej tylko pod pewnymi warunkami. Aby zmodyfikować nagłówek HTTP w żądaniu, zobacz web.addHeader. Aby zmodyfikować wszystkie kolejne żądania, zobacz web.addAutoHeader.

Body

body żądania jest przekazywane jako wartość jednego z argumentów body, bodyunicode lub bodyUnicode, w zależności od treści. Można przekazać tylko jeden argument body*.

przykłady specyfikacji ciała:

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

wszystkie wartości ciała są ASCII, null–zakończone ciągi.

body-oznacza zwykły, drukowany tekst. Nie można reprezentować bajtów Null. Wszystkie znaki są określone odwrotnym ukośnikiem.

– wskazuje kod binarny. Znaki niedrukowalne są zakodowane w systemie szesnastkowym w postaci \\xHH, gdzie HH określa wartość szesnastkową. Bajty NULL są określone przez „\\00”

bodyUnicode–US–English, a konkretnie Latin1 UTF–16LE (little-endian) tylko Unicode. Rzeczywisty parametr jest pozbawiony dodatkowego bajtu zerowego dołączającego każdy znak, aby umożliwić łatwiejsze czytanie tekstu. Jest on ponownie dodawany przez sieć.customRequest przed wysłaniem na serwer WWW.
dla znaków niedrukowalnych użyj pojedynczego odwrotnego ukośnika. Nie można reprezentować bajtów Null.

dla ciała, którego długość przekracza 100k, zamiast atrybutu pojawia się nazwa zmiennej. Zmienna jest zdefiniowana w lrw_custom_body.h.

encType

enctype określa typ zawartości, taki jak „text/html”, który ma być określony jako wartość nagłówka żądania „Content–Type” dla bieżącego odtwarzania. www.customRequest nie wykonuje kodowania treści. Argument body określa ciało, które ma być używane w stanie takim, w jakim jest (lub po zastosowaniu przetwarzania „binarnego”), przy czym jakiekolwiek kodowanie zostało już zastosowane. Dlatego też podanie typu encType, który nie pasuje do body, może spowodować błąd po stronie serwera. Ogólnie rzecz biorąc, zaleca się, aby nie edytować typu encType jako nagranego.

Dowolna Specyfikacja typu encType po cichu nadpisuje dowolny web_add_header dla typu Content. Jeśli podano „encType=” (pusta wartość), nie jest generowany nagłówek żądania” Content–Type”. Jeśli pominięto „encType”, używany jest dowolny odpowiedni web_add_header. Jeśli nie ma nagłówka i „method = POST”, domyślnie używana jest” application/x–www–form–urlencoded”. W przeciwnym razie nagłówek żądania typu Content nie jest generowany.

extraRes

dodatkowe atrybuty zasobów są wstawiane tylko podczas nagrywania opartego na HTML, a opcja Zaawansowanego nagrywania „elementy nie generowane HTML” jest ustawiona na nagrywanie w bieżącym kroku skryptu. Jest to ustawienie domyślne. Aby uzyskać więcej informacji, zobacz Centrum pomocy wirtualnego generatora użytkowników (wybierz odpowiednią wersję).

extraResBaseDir jest bazowym adresem URL do rozwiązywania względnych adresów URL w grupie extraRes. Adresy URL mogą być bezwzględne (jak „http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”) lub względne (jak „forecast.jsp?loccode=LFPO”). Rzeczywiste pobieranie adresów URL jest zawsze wykonywane przy użyciu bezwzględnych adresów URL, więc względne adresy URL muszą być rozwiązywane przy użyciu innego (bezwzględnego) adresu URL jako „bazy”. Na przykład rozwiązanie względnej prognozy”.jsp?loccode = LFPO „używanie” http://weather.abc.com/weather/ „jako bazy daje” http://weather.abc.com/weather/forecast.jsp?loccode=LFPO”. Domyślnie, gdy „extraResBaseDir” nie jest określony, używany jest główny adres URL funkcji.

userAgent

userAgent to nagłówek HTTP identyfikujący aplikację, Zwykle przeglądarkę, która reprezentuje użytkownika w interakcji z serwerem.

na przykład nagłówek „User–Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” identyfikuje Microsoft Internet Explorer 6.0 Dla Windows NT. Inne ciągi agenta użytkownika są używane w różnych przeglądarkach i innych aplikacjach innych niż przeglądarka. Zazwyczaj wszystkie żądania z aplikacji używają tej samej wartości User-Agent, którą rejestrator określa jako ustawienie Czasu Pracy. Jednak nawet w ramach zwykłej sesji przeglądarki mogą istnieć komponenty inne niż przeglądarka (na przykład Active–X), które wchodzą w bezpośrednią interakcję z serwerem i zwykle mają inny ciąg agenta użytkownika niż przeglądarka.

podanie adresu użytkownika wskazuje, że jest to żądanie inne niż przeglądarka. Podany ciąg znaków jest używany w nagłówku HTTP” User–Agent: „i wpływa na zachowanie powtórki w niektórych punktach, na przykład, nie używając pamięci podręcznej przeglądarki, zakładając, że określone adresy URL są zasobami itp. Nie jest wykonywane sprawdzanie, czy określona wartość jest inna niż wartość przeglądarki.

używając kodu binarnego

możesz użyć następującego formatu, aby dołączyć kod binarny do parametru body sieci web.funkcja customRequest:

\ x

przedstawia wartość szesnastkową, która jest reprezentowana przez .

na przykład: \x24 jest 16*2+4=36, czyli znak$; \x2B to znak+.

sekwencje, które nie reprezentują prawidłowych 2-znakowych sekwencji szesnastkowych są traktowane przez Vugena jako tekst ASCII. Nie używaj 1-znakowych sekwencji szesnastkowych. Na przykład,” \x2 ” nie jest prawidłową 2–znakową sekwencją szesnastkową. Zamiast tego użyj „\x02”.

zauważ, że wartości binarne pojawiają się w skrypcie jako \\x, tzn. „x” jest poprzedzony dwoma odwrotnymi ukośnikami. Jednak podczas generowania sieci.funkcja customRequest używając VuGen, musisz wpisać tylko jeden ukośnik wsteczny.

jeśli używasz parametryzacji w sieci.funkcja customRequest zawiera tylko jeden ukośnik wsteczny w definicji parametru.

przykład

 web.customRequest ({name: 'click_for_next.gif', url : 'http://kalimanjaro/Correlation_ASP_Project/click_for_next.gif', metoda : 'GET', resource: 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'}); 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.