Het vervangen van Parameters in een URL-aanvraag
Van toepassing op: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
Wanneer u een webtoepassing met behulp van de Editor van webtoepassingen vastlegt, kan deze unieke informatie bevatten in een of meer aanvragen die telkens wanneer u verbinding maakt met de toepassing worden gewijzigd. Deze informatie wordt meestal opgenomen in het antwoord op een verzoek en vervolgens gebruikt door een of meer volgende aanvragen.
Een toepassing wordt bijvoorbeeld een unieke sessie-ID gemaakt wanneer een gebruiker zich aanmeldt. Deze sessie-ID moet zijn opgenomen in elke aanvraag na de aanmelding. Elk van deze aanvragen mislukt zonder de juiste sessie-ID. Omdat u niet weet wat deze waarde is totdat de eerste aanvraag wordt uitgevoerd, het expliciet kan niet worden opgenomen in de configuratie van de aanvraag. Als u de webtoepassing door een browsersessie maakt, wordt de sessie-ID in de URL van iedere aanvraag verzameld. Echter wanneer de toepassing wordt uitgevoerd, de aanvragen is mislukt omdat de sessie-ID heeft een waarde die verschilt van de geregistreerde sessie-ID.
U kunt configureren die een toepassing een contextparameter ophalen uit de hoofdtekst van de reactie van een aanvraag en de waarde van deze parameter gebruiken in een of meer volgende aanvragen. U dan vervangen de waarde in de volgende aanvragen door een variabele met de parameter. Elke keer dat de synthetische transactie wordt uitgevoerd, wordt de parameter invullen in de aanvraag waarbij is gedefinieerd. Als de variabele wordt gebruikt in de volgende aanvragen, is deze voordat de aanvraag is verzonden naar de toepassing vervangen door de waarde die worden verzameld.
Een toepassing kunt een willekeurig aantal context parameters gebruiken. Een willekeurig aantal aanvragen één parameter kunt gebruiken zonder dat moet worden uitgevoerd nadat de aanvraag waarbij de parameter is gedefinieerd.
Voorbeeld van de sessie-ID
Bekijk het voorbeeld waarin een toepassing een sessie-ID gemaakt wanneer een gebruiker zich aanmeldt. Deze sessie-ID is vereist in elke aanvraag na de aanmeldingspagina. Dit scenario moeten worden geïmplementeerd, hebt u de sessie-ID vastleggen wanneer het eerst wordt gegenereerd en gebruikt die waarde in elke volgende aanvraag.
U start met behulp van het proces dat wordt beschreven in Web Application opname vastleggen om vast te leggen de aanmeldings- en latere acties. De sessie opgenomen voor aanmelding bij de toepassing en het uitvoeren van een aantal acties eruit als in het volgende voorbeeld.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=32793279321721
http://www.myapp.com/results.aspx?sessionid=32793279321721
http://www.myapp.com/submit.aspx?sessionid=32793279321721
In deze volgorde aanvraag de sessie-ID is gemaakt door de eerste aanvraag en gebruikt in de tweede, derde en vierde aanvragen. Als u deze monitor uitvoert, dit is mislukt omdat de eerste aanvraag een nieuwe sessie-ID die niet overeenkomen met de sessie-ID die is gebruikt genereert tijdens de sessie is vastgelegd.
Als u deze aanvraagreeks configureren met het vervangen van parameters, die u hebt een regel voor uitpakken maken op de eerste aanvraag voor het maken van een contextparameter voor de sessie-ID. De regel extractie controleert de hoofdtekst van de aanvraag voor het vinden van de waarde voor de sessionid variabele. Vervolgens wijzigt u de volgende aanvragen voor het gebruik van deze parameter niet de waarde voor de sessie-ID.
De gewijzigde aanvragen lijken op het volgende voorbeeld.
http://www.myapp.com/home.aspx
http://www.myapp.com/search.aspx?query=testing&sessionid=$ParametersContext/sessionID$
http://www.myapp.com/results.aspx?sessionid=$ParametersContext/sessionID$
http://www.myapp.com/submit.aspx?sessionid=$ParametersContext/sessionID$
Maken van een regel voor uitpakken
Context parameters worden verzameld door een extractie regel, en elke regel extractie verzamelt een parameter één context. Maken van een regel voor uitpakken in de eigenschappen in het dialoogvenster van de aanvraag die in eerste instantie de vereiste gegevens genereert. U moet de hoofdtekst van het antwoord dat is geretourneerd van het desbetreffende verzoek weergeven voor de waarde die u wilt ophalen. Bekijk de bron van de pagina geretourneerd in de browser of gebruik een hulpprogramma waarmee u de details van HTTP-antwoorden controleren. U kunt de tekst niet weergeven met behulp van de Editor van webtoepassingen.
Wanneer u de aanvraag met de gegevens hebt bepaald hebt u extraheren, weergave van de extractie regels tab in de eigenschappen van het verzoek en maken van een of meer regels voor uitpakken. De details van elke regel uitpakken worden in de volgende tabel weergegeven.
Optie |
Beschrijving |
---|---|
Naam van de parameter context |
Voer de naam op te geven van de contextparameter. |
Begint met |
Voer de tekst in de hoofdtekst van het antwoord dat het begin van de parameterwaarde identificeert. U onvoldoende tekens om ervoor te zorgen dat de tekenreeks uniek is. De waarde voor de parameter begint meteen na de laatste teken opgegeven. |
Eindigt op |
Voer de tekst in de hoofdtekst van het antwoord dat het einde van de parameterwaarde identificeert. De waarde voor de parameter eindigt vóór het eerste opgegeven teken. |
Index |
Als de tekst in de begint met vak meer dan één keer optreedt, wordt deze waarde geeft aan welke waarde moet worden gebruikt. Als de tekst slechts één keer wordt weergegeven, of de eerste keer de tekst wordt uitpakken, moet de waarde 0. Als de tweede waarde moet worden geëxtraheerd, moet de waarde 1, enzovoort. |
Tijdens het zoeken naar overeenkomende tekst worden genegeerd |
Hiermee kunt u het geval van de tekens doorzocht met negeren de begint met en eindigt op vakken. |
URI codering van uitgepakte tekenreeksen uitvoeren |
Hiermee kunt u het uitgepakte tekenreeks coderen nadat deze is verzameld. |
Een Parameter invoegen in een aanvraag
Gebruikt u een parameter in een aanvraag door een expliciete waarde vervangen door de parameter met een variabele. De indeling van de variabele is $ParametersContext/<ContextParameterName>$. Wanneer de aanvraag wordt uitgevoerd, wordt de variabele vervangen door de gegevens die door de parameter geëxtraheerd.
U kunt de variabele invoegen in de aanvraag met een van de twee volgende methoden:
In de eigenschappen in het dialoogvenster klikt u op de algemene tabblad en klik vervolgens op aangevraagde URL te wijzigen van de aanvraag-URL voor de aanvraag.
In de Eigenschappen aanvraag dialoogvenster, klikt u op de algemene tabblad en klik vervolgens op de parameter invoegen knop. Gebruik de Parameter invoegen in het dialoogvenster voor de aanvraag. Dit toegankelijk is vanuit de parameter invoegen knop op de algemene tabblad de eigenschappen in het dialoogvenster voor de aanvraag.
Voorbeeld webtoepassing met de Parameter uitpakken
De volgende procedure wordt een voorbeeld van het gebruik van de parameter uitpakken in een webtoepassing. In dit voorbeeld wordt een query uitgevoerd voor het eerste item in de nu populaire de Bing-startpagina. Omdat deze waarde regelmatig wijzigt, hebt u eerst verbinding maken met de hoofdpagina en de zoekterm verzamelen uit de hoofdtekst van het antwoord. U kunt vervolgens deze term gebruiken voor het bouwen van de aanvraag voor de werkelijke zoekactie uitvoeren.
De Bing-hoofdpagina hieronder wordt weergegeven met de nu populaire sectie gemarkeerd.
Om te bepalen waar in de hoofdtekst van de reactie van de zoekterm wordt weergegeven, kunt u de bron van de pagina bekijken. Een gedeelte van de bron wordt hieronder weergegeven met de HTML-code van de nu populaire sectie. In deze HTML-code hoeft u alleen de zoekreeks die is gemarkeerd in de volgende afbeelding. De aanvraag wordt gevormd door https://www.bing.com gevolgd door deze tekenreeks.
U kan alleen uit de term zelf halen, maar het is eenvoudiger de hele tekenreeks opnemen in de parameter. Deze tekenreeks voorafgegaan door de tekens nu populair < h3 > < / h3 >< ul >< li >< een href = " en eindigt op de volgende instantie van ". Dit zijn de waarden die u wilt gebruiken voor het definiëren van de parameter extractie.
Voor het vastleggen van een steekproef webtoepassing
-
Gebruik de procedure in Web Application opname vastleggen om vast te leggen een webtoepassing.
-
Tijdens het opnemen, verbinding maken met https://www.bing.com.
-
Gebruik eventueel de optie in uw browser te bekijken van de bron van de Bing-startpagina en zoekt u de nu populaire sectie van de HTML-code.
-
Klik op de eerste zoekterm onder nu populaire.
-
De opname opslaan in de webtoepassing.
-
De laatste aanvraag niet verwijderen omdat dit niet vereist is. Als u wilt de laatste aanvraag verwijderen, selecteert u de aanvraag en klik vervolgens op verwijderen in de acties deelvenster. De resulterende aanvragen moeten uitzien met de volgende URL's:
Maken van een regel voor uitpakken
-
Selecteer de eerste aanvraag en klik vervolgens op eigenschappen in de acties deelvenster.
-
Selecteer de extractie regels tabblad.
-
Klik op Toevoegen. De extractie regel toevoegen dialoogvenster wordt geopend.
-
In de extractie regel toevoegen het dialoogvenster de Context parameternaam vak zoekreeks.
-
In de begint met vak nu populair < h3 > < / h3 >< ul >< li >< een href = ".
-
In de eindigt op vak ". De regel extractie moet lijken op de volgende afbeelding.
-
Klik op OK opslaan en afsluiten van de regel uitpakken.
-
Klik op OK opslaan en afsluiten van de aanvraag.
Een parameter in een aanvraag invoegen
-
Selecteer de tweede aanvraag en klik vervolgens op eigenschappen in de acties deelvenster.
-
Op de algemene en klik op parameter invoegen.
-
In de tekenreeks vak, verwijdert u alle tekst na www.bing.com/.
-
Alleen de cursor aan het einde van de URL na www.bing.com, Selecteer zoekreeks in de Parameters vak en klik vervolgens op invoegen. Deze methode voegt u de variabele $ParametersContext/SearchString$. De definitieve aanvraag lijkt op de volgende afbeelding.
-
Klik op OK om het dialoogvenster te sluiten.
-
Klik op OK opslaan en afsluiten van de aanvraag. De aanvraagreeks gewijzigde moet lijken op de volgende afbeelding.
-
Klik op toepassen de wijzigingen zijn toegepast en sluit vervolgens het Editor van webtoepassingen.