Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A HTTP Read-Eval-Print Loop (REPL) a következő:
- Egy könnyű, platformfüggetlen parancssori eszköz, amelyet mindenhol támogatnak, ahol a .NET-et is támogatják.
- HTTP-kérések készítésére szolgál ASP.NET Core webes API-k (és non-ASP.NET Core webes API-k) teszteléséhez és eredményeik megtekintéséhez.
- Bármilyen környezetben üzemeltetett webes API-k tesztelésére képes, beleértve a localhostot és az Azure App Service-t is.
A következő HTTP-parancsok támogatottak :
A követendő lépések követéséhez tekintse meg vagy töltse le a minta ASP.NET Core webes API-t (letöltés).
Prerequisites
Installation
A HttpRepl telepítéséhez futtassa a következő parancsot:
dotnet tool install -g Microsoft.dotnet-httprepl
A Microsoft.dotnet-httprepl NuGet csomagból egy .NET-alapú globális eszköz van telepítve.
Note
Alapértelmezés szerint a telepíteni kívánt .NET bináris fájlok architektúrája a jelenleg futó operációsrendszer-architektúrát jelöli. Ha másik operációsrendszer-architektúrát szeretne megadni, tekintse meg dotnet eszköz telepítését, az --arch lehetőséget. További információ: GitHub-probléma dotnet/AspNetCore.Docs #29262.
MacOS rendszeren frissítse az elérési utat:
export PATH="$HOME/.dotnet/tools:$PATH"
Usage
Az eszköz sikeres telepítése után futtassa a következő parancsot a HttpRepl elindításához:
httprepl
Az elérhető HttpRepl-parancsok megtekintéséhez futtassa az alábbi parancsok egyikét:
httprepl -h
httprepl --help
A következő kimenet jelenik meg:
Usage:
httprepl [<BASE_ADDRESS>] [options]
Arguments:
<BASE_ADDRESS> - The initial base address for the REPL.
Options:
-h|--help - Show help information.
Once the REPL starts, these commands are valid:
Setup Commands:
Use these commands to configure the tool for your API server
connect Configures the directory structure and base address of the api server
set header Sets or clears a header for all requests. e.g. `set header content-type application/json`
HTTP Commands:
Use these commands to execute requests against your application.
GET get - Issues a GET request
POST post - Issues a POST request
PUT put - Issues a PUT request
DELETE delete - Issues a DELETE request
PATCH patch - Issues a PATCH request
HEAD head - Issues a HEAD request
OPTIONS options - Issues a OPTIONS request
Navigation Commands:
The REPL allows you to navigate your URL space and focus on specific APIs that you are working on.
ls Show all endpoints for the current path
cd Append the given directory to the currently selected path, or move up a path when using `cd ..`
Shell Commands:
Use these commands to interact with the REPL shell.
clear Removes all text from the shell
echo [on/off] Turns request echoing on or off, show the request that was made when using request commands
exit Exit the shell
REPL Customization Commands:
Use these commands to customize the REPL behavior.
pref [get/set] Allows viewing or changing preferences, e.g. 'pref set editor.command.default 'C:\\Program Files\\Microsoft VS Code\\Code.exe'`
run Runs the script at the given path. A script is a set of commands that can be typed with one command per line
ui Displays the Swagger UI page, if available, in the default browser
Use `help <COMMAND>` for more detail on an individual command. e.g. `help get`.
For detailed tool info, see https://aka.ms/http-repl-doc.
A HttpRepl parancskiegészítést kínál. A Tab billentyű lenyomásával végigvezeti a beírt karaktereket vagy API-végpontokat befejező parancsok listáján. Az alábbi szakaszok az elérhető parancssori felületi parancsokat ismertetik.
Csatlakozás a webes API-hoz
Csatlakozzon egy webes API-hoz a következő parancs futtatásával:
httprepl <ROOT URI>
<ROOT URI> a webes API alapszintű URI-ja. Például:
httprepl https://localhost:5001
Másik lehetőségként futtassa a következő parancsot bármikor, amíg a HttpRepl fut:
connect <ROOT URI>
Például:
(Disconnected)> connect https://localhost:5001
Mutasson manuálisan a webes API OpenAPI-leírására
A fenti kapcsolódási parancs automatikusan megkísérli megtalálni az OpenAPI-leírást. Ha valamilyen okból ez nem lehetséges, a webes API OpenAPI-leírásának URI-ját a --openapi következő beállítással adhatja meg:
connect <ROOT URI> --openapi <OPENAPI DESCRIPTION ADDRESS>
Például:
(Disconnected)> connect https://localhost:5001 --openapi /swagger/v1/swagger.json
Részletes kimenet engedélyezése az OpenAPI-leírások keresésének, elemzésének és érvényesítésének részleteihez
--verbose A parancsot tartalmazó connect beállítás megadása további részleteket eredményez, amikor az eszköz megkeresi az OpenAPI-leírást, elemzi és ellenőrzi azt.
connect <ROOT URI> --verbose
Például:
(Disconnected)> connect https://localhost:5001 --verbose
Checking https://localhost:5001/swagger.json... 404 NotFound
Checking https://localhost:5001/swagger/v1/swagger.json... 404 NotFound
Checking https://localhost:5001/openapi.json... Found
Parsing... Successful (with warnings)
The field 'info' in 'document' object is REQUIRED [#/info]
The field 'paths' in 'document' object is REQUIRED [#/paths]
Navigálás a webes API-val
Elérhető végpontok megtekintése
A web API-cím aktuális elérési útján található különböző végpontok (vezérlők) listázásához futtassa a ls vagy a dir parancsot:
https://localhost:5001/> ls
A következő kimeneti formátum jelenik meg:
. []
Fruits [get|post]
People [get|post]
https://localhost:5001/>
Az előző kimenet azt jelzi, hogy két vezérlő érhető el: Fruits és People. Mindkét vezérlő támogatja a paraméter nélküli HTTP GET és POST műveleteket.
Az adott vezérlőre való navigálás részletesebben is látható. Az alábbi parancs kimenete például azt mutatja, hogy a vezérlő a Fruits HTTP GET, PUT és DELETE műveleteket is támogatja. Mindegyik művelet egy paramétert id vár az útvonalon:
https://localhost:5001/fruits> ls
. [get|post]
.. []
{id} [get|put|delete]
https://localhost:5001/fruits>
Másik lehetőségként futtassa a parancsot a ui webes API Swagger felhasználói felületi oldalának böngészőben való megnyitásához. Például:
https://localhost:5001/> ui
Navigálás egy végpontra
A webes API másik végpontjára való navigáláshoz futtassa a cd következő parancsot:
https://localhost:5001/> cd people
A cd parancsot követő elérési út kis- és nagybetűérzékenység nélküli. A következő kimeneti formátum jelenik meg:
/people [get|post]
https://localhost:5001/people>
A HttpRepl testreszabása
A HttpRepl alapértelmezett színei testre szabhatók. Emellett megadható egy alapértelmezett szövegszerkesztő is. A HttpRepl-beállítások az aktuális munkamenetben megmaradnak, és a jövőbeli munkamenetekben is teljesülnek. A módosítás után a beállítások a következő fájlban lesznek tárolva:
A .httpreplprefs fájl indításkor betöltődik, és futásidőben nem figyeli a módosításokat. A fájl manuális módosítása csak az eszköz újraindítása után lép érvénybe.
A beállítások megtekintése
Az elérhető beállítások megtekintéséhez futtassa a pref get parancsot. Például:
https://localhost:5001/> pref get
Az előző parancs megjeleníti az elérhető kulcs-érték párokat:
colors.json=Green
colors.json.arrayBrace=BoldCyan
colors.json.comma=BoldYellow
colors.json.name=BoldMagenta
colors.json.nameSeparator=BoldWhite
colors.json.objectBrace=Cyan
colors.protocol=BoldGreen
colors.status=BoldYellow
Színbeállítások megadása
A válaszszínezés jelenleg csak JSON esetén támogatott. Az alapértelmezett HttpRepl-eszközszínezés testreszabásához keresse meg a módosítani kívánt színnek megfelelő kulcsot. A kulcsok megkeresésével kapcsolatos útmutatásért tekintse meg a Beállítások megtekintése szakaszt . Módosítsa például a colors.json kulcs értékét a Green-ről White-re a következőképpen:
https://localhost:5001/people> pref set colors.json White
Csak az engedélyezett színek használhatók. Az ezt követő HTTP-kérések az új színezéssel jelenítik meg a kimenetet.
Ha adott színkulcsok nincsenek beállítva, a rendszer általánosabb kulcsokat is figyelembe veszi. Ennek a tartalék viselkedésnek a bemutatásához vegye figyelembe a következő példát:
- Ha
colors.json.namenem rendelkezik értékkel,colors.json.stringakkor a rendszer használja. - Ha
colors.json.stringnem rendelkezik értékkel,colors.json.literalakkor a rendszer használja. - Ha
colors.json.literalnem rendelkezik értékkel,colors.jsonakkor a rendszer használja. - Ha
colors.jsonnincs értéke, a parancshéj alapértelmezett szövegszíne (AllowedColors.None) lesz használva.
Behúzás méretének beállítása
A válaszbehúzás méretének testreszabása jelenleg csak JSON esetén támogatott. Az alapértelmezett méret két szóköz. Például:
[
{
"id": 1,
"name": "Apple"
},
{
"id": 2,
"name": "Orange"
},
{
"id": 3,
"name": "Strawberry"
}
]
Az alapértelmezett méret módosításához állítsa be a formatting.json.indentSize kulcsot. Például, ha mindig négy szóközt szeretne használni:
pref set formatting.json.indentSize 4
A következő válaszok négy szóközt határoznak meg:
[
{
"id": 1,
"name": "Apple"
},
{
"id": 2,
"name": "Orange"
},
{
"id": 3,
"name": "Strawberry"
}
]
Az alapértelmezett szövegszerkesztő beállítása
Alapértelmezés szerint a HttpRepl nem rendelkezik használatra konfigurált szövegszerkesztővel. A HTTP-kérelem törzsét igénylő webes API-metódusok teszteléséhez be kell állítani egy alapértelmezett szövegszerkesztőt. A HttpRepl eszköz elindítja a konfigurált szövegszerkesztőt a kérelem törzsének írásához. Futtassa a következő parancsot az előnyben részesített szövegszerkesztő alapértelmezettként való beállításához:
pref set editor.command.default "<EXECUTABLE>"
Az előző parancs <EXECUTABLE> a szövegszerkesztő végrehajtható fájljának teljes elérési útja. Futtassa például a következő parancsot a Visual Studio Code alapértelmezett szövegszerkesztőként való beállításához:
Az alapértelmezett szövegszerkesztő adott parancssori felületi argumentumokkal való elindításához állítsa be a editor.command.default.arguments kulcsot. Tegyük fel például, hogy a Visual Studio Code az alapértelmezett szövegszerkesztő, és hogy mindig azt szeretné, hogy a HttpRepl egy új munkamenetben nyissa meg a Visual Studio Code-ot, és a bővítmények le vannak tiltva. Futtassa a következő parancsot:
pref set editor.command.default.arguments "--disable-extensions --new-window"
Tip
Ha az alapértelmezett szerkesztő a Visual Studio Code, általában át kell adnia az argumentumot, -w hogy kényszerítse --wait a Visual Studio Code-ot, hogy várja meg, amíg bezárja a fájlt, mielőtt visszatér.
Az OpenAPI-leírás keresési elérési útjainak beállítása
Alapértelmezés szerint a HttpRepl relatív elérési utak készletével keresi meg az OpenAPI-leírást a connect parancs beállítás nélküli --openapi végrehajtásakor. Ezek a relatív elérési utak a parancsban connect megadott gyökér- és alapútvonalakkal vannak kombinálva. Az alapértelmezett relatív elérési utak a következők:
swagger.jsonswagger/v1/swagger.json/swagger.json/swagger/v1/swagger.jsonopenapi.json/openapi.json
Ha más keresési útvonalakat szeretne használni a környezetben, adja meg a swagger.searchPaths beállításokat. Az értéknek a relatív útvonalak csővel tagolt listájának kell lennie. Például:
pref set swagger.searchPaths "swagger/v2/swagger.json|swagger/v3/swagger.json"
Az alapértelmezett lista teljes cseréje helyett a lista útvonalak hozzáadásával vagy eltávolításával is módosítható.
Ha egy vagy több keresési útvonalat szeretne hozzáadni az alapértelmezett listához, adja meg a swagger.addToSearchPaths beállítást. Az értéknek a relatív útvonalak csővel tagolt listájának kell lennie. Például:
pref set swagger.addToSearchPaths "openapi/v2/openapi.json|openapi/v3/openapi.json"
Ha el szeretne távolítani egy vagy több keresési útvonalat az alapértelmezett listából, állítsa be a swagger.addToSearchPaths beállítást. Az értéknek a relatív útvonalak csővel tagolt listájának kell lennie. Például:
pref set swagger.removeFromSearchPaths "swagger.json|/swagger.json"
HTTP GET-kérelmek tesztelése
Synopsis
get <PARAMETER> [-F|--no-formatting] [-h|--header] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
A get parancshoz a következő lehetőségek érhetők el:
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
Example
HTTP GET-kérés kiállítása:
Futtassa a
getparancsot egy azt támogató végponton:https://localhost:5001/people> getAz előző parancs a következő kimeneti formátumot jeleníti meg:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Fri, 21 Jun 2019 03:38:45 GMT Server: Kestrel Transfer-Encoding: chunked [ { "id": 1, "name": "Scott Hunter" }, { "id": 2, "name": "Scott Hanselman" }, { "id": 3, "name": "Scott Guthrie" } ] https://localhost:5001/people>Egy adott rekord lekéréséhez adjon meg egy paramétert a
getparancsnak:https://localhost:5001/people> get 2Az előző parancs a következő kimeneti formátumot jeleníti meg:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Fri, 21 Jun 2019 06:17:57 GMT Server: Kestrel Transfer-Encoding: chunked [ { "id": 2, "name": "Scott Hanselman" } ] https://localhost:5001/people>
HTTP POST-kérelmek tesztelése
Synopsis
post <PARAMETER> [-c|--content] [-f|--file] [-h|--header] [--no-body] [-F|--no-formatting] [--response] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
-c|--contentBeágyazott HTTP-kérelemtörzset biztosít. Például:
-c "{\"id\":2,\"name\":\"Cherry\"}".-f|--fileA HTTP-kérelem törzsét tartalmazó fájl elérési útját adja meg. Például:
-f "C:\request.json".--no-bodyAzt jelzi, hogy nincs szükség HTTP-kérelemtörzsre.
Example
HTTP POST-kérés kiállítása:
Futtassa a
postparancsot egy azt támogató végponton:https://localhost:5001/people> post -h Content-Type=application/jsonAz előző parancsban a
Content-TypeHTTP-kérés fejléce úgy van beállítva, hogy a JSON-kérelem törzsének adathordozótípusát jelezze. Az alapértelmezett szövegszerkesztő megnyit egy .tmp fájlt a HTTP-kérelem törzsét képviselő JSON-sablonnal. Például:{ "id": 0, "name": "" }Tip
Az alapértelmezett szövegszerkesztő beállításához tekintse meg az Alapértelmezett szövegszerkesztő beállítása szakaszt.
Módosítsa a JSON-sablont a modellérvényesítési követelményeknek való megfelelés érdekében:
{ "id": 0, "name": "Scott Addie" }Mentse a .tmp fájlt, és zárja be a szövegszerkesztőt. A parancshéjban a következő kimenet jelenik meg:
HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8 Date: Thu, 27 Jun 2019 21:24:18 GMT Location: https://localhost:5001/people/4 Server: Kestrel Transfer-Encoding: chunked { "id": 4, "name": "Scott Addie" } https://localhost:5001/people>
HTTP PUT-kérelmek tesztelése
Synopsis
put <PARAMETER> [-c|--content] [-f|--file] [-h|--header] [--no-body] [-F|--no-formatting] [--response] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
-c|--contentBeágyazott HTTP-kérelemtörzset biztosít. Például:
-c "{\"id\":2,\"name\":\"Cherry\"}".-f|--fileA HTTP-kérelem törzsét tartalmazó fájl elérési útját adja meg. Például:
-f "C:\request.json".--no-bodyAzt jelzi, hogy nincs szükség HTTP-kérelemtörzsre.
Example
HTTP PUT-kérés kiállítása:
Nem kötelező: A módosítás előtt futtassa a
getparancsot az adatok megtekintéséhez:https://localhost:5001/fruits> get HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Sat, 22 Jun 2019 00:07:32 GMT Server: Kestrel Transfer-Encoding: chunked [ { "id": 1, "data": "Apple" }, { "id": 2, "data": "Orange" }, { "id": 3, "data": "Strawberry" } ]Futtassa a
putparancsot egy azt támogató végponton:https://localhost:5001/fruits> put 2 -h Content-Type=application/jsonAz előző parancsban a
Content-TypeHTTP-kérés fejléce úgy van beállítva, hogy a JSON-kérelem törzsének adathordozótípusát jelezze. Az alapértelmezett szövegszerkesztő megnyit egy .tmp fájlt a HTTP-kérelem törzsét képviselő JSON-sablonnal. Például:{ "id": 0, "name": "" }Tip
Az alapértelmezett szövegszerkesztő beállításához tekintse meg az Alapértelmezett szövegszerkesztő beállítása szakaszt.
Módosítsa a JSON-sablont a modellérvényesítési követelményeknek való megfelelés érdekében:
{ "id": 2, "name": "Cherry" }Mentse a .tmp fájlt, és zárja be a szövegszerkesztőt. A parancshéjban a következő kimenet jelenik meg:
[main 2019-06-28T17:27:01.805Z] update#setState idle HTTP/1.1 204 No Content Date: Fri, 28 Jun 2019 17:28:21 GMT Server: KestrelNem kötelező: Adjon ki egy
getparancsot a módosítások megtekintéséhez. Ha például beírta a "Cherry" kifejezést a szövegszerkesztőbe,geta következő kimenetet adja vissza:https://localhost:5001/fruits> get HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Sat, 22 Jun 2019 00:08:20 GMT Server: Kestrel Transfer-Encoding: chunked [ { "id": 1, "data": "Apple" }, { "id": 2, "data": "Cherry" }, { "id": 3, "data": "Strawberry" } ] https://localhost:5001/fruits>
HTTP DELETE-kérelmek tesztelése
Synopsis
delete <PARAMETER> [-F|--no-formatting] [-h|--header] [--response] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
Example
HTTP DELETE-kérés kiállítása:
Nem kötelező: A módosítás előtt futtassa a
getparancsot az adatok megtekintéséhez:https://localhost:5001/fruits> get HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Sat, 22 Jun 2019 00:07:32 GMT Server: Kestrel Transfer-Encoding: chunked [ { "id": 1, "data": "Apple" }, { "id": 2, "data": "Orange" }, { "id": 3, "data": "Strawberry" } ]Futtassa a
deleteparancsot egy azt támogató végponton:https://localhost:5001/fruits> delete 2Az előző parancs a következő kimeneti formátumot jeleníti meg:
HTTP/1.1 204 No Content Date: Fri, 28 Jun 2019 17:36:42 GMT Server: KestrelNem kötelező: Adjon ki egy
getparancsot a módosítások megtekintéséhez. Ebben a példában agetkövetkező kimenetet adja vissza:https://localhost:5001/fruits> get HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Sat, 22 Jun 2019 00:16:30 GMT Server: Kestrel Transfer-Encoding: chunked [ { "id": 1, "data": "Apple" }, { "id": 3, "data": "Strawberry" } ] https://localhost:5001/fruits>
HTTP PATCH-kérelmek tesztelése
Synopsis
patch <PARAMETER> [-c|--content] [-f|--file] [-h|--header] [--no-body] [-F|--no-formatting] [--response] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
-c|--contentBeágyazott HTTP-kérelemtörzset biztosít. Például:
-c "{\"id\":2,\"name\":\"Cherry\"}".-f|--fileA HTTP-kérelem törzsét tartalmazó fájl elérési útját adja meg. Például:
-f "C:\request.json".--no-bodyAzt jelzi, hogy nincs szükség HTTP-kérelemtörzsre.
HTTP HEAD-kérelmek tesztelése
Synopsis
head <PARAMETER> [-F|--no-formatting] [-h|--header] [--response] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
HTTP OPTIONS-kérelmek tesztelése
Synopsis
options <PARAMETER> [-F|--no-formatting] [-h|--header] [--response] [--response:body] [--response:headers] [-s|--streaming]
Arguments
PARAMETER
A kapcsolódó vezérlőműveleti módszer által várt útvonalparaméter, ha van ilyen.
Beállítások
-F|--no-formattingOlyan jelölő, amelynek jelenléte letiltja a HTTP-válasz formázását.
-h|--headerBEÁLLÍT EGY HTTP-kérés fejlécét. A következő két értékformátum támogatott:
{header}={value}{header}:{value}
--response:bodyMegadja azt a fájlt, amelyhez a HTTP-válasz törzsét meg kell írni. Például:
--response:body "C:\response.json". A fájl akkor jön létre, ha nem létezik.--response:headersMegadja azt a fájlt, amelyhez a HTTP-válaszfejléceket meg kell írni. Például:
--response:headers "C:\response.txt". A fájl akkor jön létre, ha nem létezik.-s|--streamingEgy jelző, amelynek jelenléte lehetővé teszi a HTTP-válasz streamelását.
HTTP-kérelemfejlécek beállítása
HTTP-kérelem fejlécének beállításához használja az alábbi módszerek egyikét:
Állítsa be közvetlenül a HTTP-kéréssel. Például:
https://localhost:5001/people> post -h Content-Type=application/jsonAz előző megközelítéssel minden egyes különálló HTTP-kérelemfejlécnek saját
-hbeállításra van szüksége.A HTTP-kérés elküldése előtt állítsa be. Például:
https://localhost:5001/people> set header Content-Type application/jsonAmikor a fejlécet a kérés elküldése előtt állítja be, a fejléc a parancshéj-munkamenet időtartamára lesz beállítva. A fejléc törléséhez adjon meg egy üres értéket. Például:
https://localhost:5001/people> set header Content-Type
Biztonságos végpontok tesztelése
A HttpRepl a következő módokon támogatja a biztonságos végpontok tesztelését:
- A bejelentkezett felhasználó alapértelmezett hitelesítő adatain keresztül.
- HTTP-kérelem-fejlécek használatával.
Alapértelmezett hitelesítő adatok
Fontolja meg az IIS-ben üzemeltetett és Windows-hitelesítéssel védett webes API-t. Azt szeretné, hogy az eszközt futtató felhasználó hitelesítő adatai átfolyjanak a tesztelt HTTP-végpontokra. A bejelentkezett felhasználó alapértelmezett hitelesítő adatainak átadása:
Állítsa be a
httpClient.useDefaultCredentialsbeállítást a következőre:true.pref set httpClient.useDefaultCredentials trueLépjen ki és indítsa újra az eszközt, mielőtt újabb kérést küldene a webes API-nak.
Alapértelmezett proxy hitelesítő adatok
Fontolja meg azt a forgatókönyvet, amelyben a tesztelt webes API egy Windows-hitelesítéssel védett proxy mögött található. Azt szeretné, hogy az eszközt futtató felhasználó hitelesítő adatai átfolyjanak a proxyba. A bejelentkezett felhasználó alapértelmezett hitelesítő adatainak átadása:
Állítsa be a
httpClient.proxy.useDefaultCredentialsbeállítást a következőre:true.pref set httpClient.proxy.useDefaultCredentials trueLépjen ki és indítsa újra az eszközt, mielőtt újabb kérést küldene a webes API-nak.
HTTP-kérelem fejlécei
A támogatott hitelesítési és engedélyezési sémák például a következők:
- alapszintű hitelesítés
- JWT-tulajdonosi jogkivonatok
- kivonatoló hitelesítés
Küldhet például egy tulajdonosi jogkivonatot egy végpontnak a következő paranccsal:
set header Authorization "bearer <TOKEN VALUE>"
Az Azure által üzemeltetett végpont eléréséhez vagy az Azure REST API használatához tulajdonosi jogkivonatra van szükség. Az alábbi lépésekkel beszerezhet egy tulajdonosi jogkivonatot az Azure-előfizetéshez az Azure CLI-vel. A HttpRepl beállítja a tulajdonosi jogkivonatot egy HTTP-kérés fejlécében. A rendszer lekéri az Azure App Service Web Apps listáját.
Jelentkezzen be az Azure-ba:
az loginKérje le az előfizetés azonosítóját a következő paranccsal:
az account show --query idMásolja ki az előfizetés azonosítóját, és futtassa a következő parancsot:
az account set --subscription "<SUBSCRIPTION ID>"Szerezze meg a hozzáférési tokent a következő paranccsal:
az account get-access-token --query accessTokenCsatlakozzon az Azure API-hoz REST a HttpRepl használatával:
httprepl https://management.azure.comA HTTP-kérelem fejlécének
Authorizationbeállítása:https://management.azure.com/> set header Authorization "bearer <ACCESS TOKEN>"Lépjen az előfizetéshez:
https://management.azure.com/> cd subscriptions/<SUBSCRIPTION ID>Az előfizetés Azure App Service Web Apps-alkalmazásainak listájának lekérése:
https://management.azure.com/subscriptions/{SUBSCRIPTION ID}> get providers/Microsoft.Web/sites?api-version=2016-08-01A következő válasz jelenik meg:
HTTP/1.1 200 OK Cache-Control: no-cache Content-Length: 35948 Content-Type: application/json; charset=utf-8 Date: Thu, 19 Sep 2019 23:04:03 GMT Expires: -1 Pragma: no-cache Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff x-ms-correlation-request-id: <em>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</em> x-ms-original-request-ids: <em>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</em> x-ms-ratelimit-remaining-subscription-reads: 11999 x-ms-request-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx x-ms-routing-request-id: WESTUS:xxxxxxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx { "value": [ <AZURE RESOURCES LIST> ] }
HTTP-kérések megjelenítésének váltása
Alapértelmezés szerint a rendszer letiltja az elküldött HTTP-kérés megjelenítését. A parancshéj-munkamenet időtartamára módosíthatja a megfelelő beállítást.
Kérelem megjelenítésének engedélyezése
A parancs futtatásával megtekintheti az elküldött HTTP-kérést echo on . Például:
https://localhost:5001/people> echo on
Request echoing is on
Az aktuális munkamenet későbbi HTTP-kérései megjelenítik a kérés fejléceit. Például:
https://localhost:5001/people> post
[main 2019-06-28T18:50:11.930Z] update#setState idle
Request to https://localhost:5001...
POST /people HTTP/1.1
Content-Length: 41
Content-Type: application/json
User-Agent: HTTP-REPL
{
"id": 0,
"name": "Scott Addie"
}
Response from https://localhost:5001...
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8
Date: Fri, 28 Jun 2019 18:50:21 GMT
Location: https://localhost:5001/people/4
Server: Kestrel
Transfer-Encoding: chunked
{
"id": 4,
"name": "Scott Addie"
}
https://localhost:5001/people>
A kérések megjelenítésének letiltása
A parancs futtatásával letiltja az elküldött HTTP-kérés megjelenítését echo off . Például:
https://localhost:5001/people> echo off
Request echoing is off
Szkript futtatása
Ha gyakran hajtja végre ugyanazt a HttpRepl-parancskészletet, fontolja meg, hogy egy szövegfájlban tárolja őket. A fájl parancsai ugyanúgy alakulnak, mint a parancssorban manuálisan végrehajtott parancsok. A parancsok kötegelt módon végrehajthatók a run parancs használatával. Például:
Hozzon létre egy szövegfájlt, amely új vonallal tagolt parancsokat tartalmaz. A szemléltetés érdekében fontolja meg a következő parancsokat tartalmazó people-script.txt fájlt:
set base https://localhost:5001 ls cd People ls get 1Hajtsa végre a
runparancsot, és adja meg a szövegfájl elérési útját. Például:https://localhost:5001/> run C:\http-repl-scripts\people-script.txtA következő kimenet jelenik meg:
https://localhost:5001/> set base https://localhost:5001 Using OpenAPI description at https://localhost:5001/swagger/v1/swagger.json https://localhost:5001/> ls . [] Fruits [get|post] People [get|post] https://localhost:5001/> cd People /People [get|post] https://localhost:5001/People> ls . [get|post] .. [] {id} [get|put|delete] https://localhost:5001/People> get 1 HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Fri, 12 Jul 2019 19:20:10 GMT Server: Kestrel Transfer-Encoding: chunked { "id": 1, "name": "Scott Hunter" } https://localhost:5001/People>
A kimenet törlése
A HttpRepl eszköz által a parancshéjba írt összes kimenet eltávolításához futtassa a clear vagy cls parancsot. A szemléltetéshez képzelje el, hogy a parancshéj a következő kimenetet tartalmazza:
httprepl https://localhost:5001
(Disconnected)> set base "https://localhost:5001"
Using OpenAPI description at https://localhost:5001/swagger/v1/swagger.json
https://localhost:5001/> ls
. []
Fruits [get|post]
People [get|post]
https://localhost:5001/>
Futtassa a következő parancsot a kimenet törléséhez:
https://localhost:5001/> clear
Az előző parancs futtatása után a parancshéj csak a következő kimenetet tartalmazza:
https://localhost:5001/>