Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Senden einer POST-Anforderung an die REST-API

Verwenden Sie eine HTTP POST-Anforderung, um einzelne oder mehrere RPC-Anforderungen an die REST-API zu senden. Sie können die POST-Anforderung verwenden, um das Gerät zu konfigurieren.

Für einen einzelnen rpc Befehl lautet das allgemeine Format der Endpunkte:

scheme://device-name:port/rpc/method[@attributes]/params

  • scheme: http oder https

  • method: Der Name eines beliebigen Junos OS-Befehls rpc . Der method Name ist identisch mit dem tag-Element. Weitere Informationen finden Sie im Junos XML-API-Explorer.

  • params: Optionale Parameterwerte (name[=value]).

Um Ihre Anforderung zu authentifizieren, können Sie eine der folgenden Methoden verwenden. Wir empfehlen, die netrc Option zu verwenden, da sie sicherer ist.

  • Übermitteln Sie den base64-codierten Benutzernamen und das Kennwort, die im Authorization-Header enthalten sind.

  • Alternativ können Sie eine .netrc-Datei verwenden, um die Anmeldeinformationen zu speichern.

    1. Erstellen Sie im Home-Verzeichnis des Benutzers die .netrc-Datei , und geben Sie den Hostnamen, den Benutzernamen und das Kennwort für das Remotegerät an. Zum Beispiel:

    2. Stellen Sie sicher, dass nur der Benutzer Lese- und Schreibberechtigungen für die Datei hat.

    3. Geben Sie in der Anforderung die --netrc Option an. Zum Beispiel:

Um Daten als Abfragezeichenfolge im URI für POST-Anforderungen anzugebenrpc, übermitteln Sie die Abfragedaten im POST-Text. In solchen Fällen können Sie as oder application/xml, text/plain Content-Type wie in diesen äquivalenten cURL-Aufrufen gezeigt:

Sowohl für einzelne als auch für mehrere RPC-Befehle können HTTP Accept-Header verwendet werden, um das Rückgabeformat mit einem der folgenden Content-Type-Werte anzugeben:

  • application/xml (Standardeinstellung)

  • application/json

  • text/plain

  • text/html

Der folgende cURL-Aufruf gibt beispielsweise das Ausgabeformat JSON an:

Sie können das Ausgabeformat auch mit dem optionalen format Attribut angeben:

Anmerkung:

Der Standard-Content-Type für POST-Anforderungen, die Argumente im Text enthalten, ist application/xml. Wenn Sie einen anderen Inhalt verwenden möchten, z. B. eine Abfragezeichenfolge, können Sie den Content-Type text/plain angeben. Geben Sie das format Attribut in Konfigurationsbefehlen an.

Wenn Sie mehrere rpc Befehle in einer einzelnen Anforderung ausführen, lautet das allgemeine Format des Endpunkts:

scheme://device-name:port/rpc

Die RPCs müssen als XML-Daten im POST-Text bereitgestellt werden. Der Content-Type für die Antwort ist mehrteilig/gemischt, wobei Begrenzung und Untertyp der Ausgabe jeder RPC-Ausführung zugeordnet sind. Das im Accept-Header angegebene Format wird als Ausgabeformat für jeden der RPCs verwendet, wenn ein format Attribut fehlt. Wenn Sie keinen Accept-Header oder das format Attribut in einem bestimmten RPC angeben, ist das Standardausgabeformat XML.

Wenn Sie z. B. eine einzelne HTTP-Anforderung zum Ausführen der RPCs get-software-information senden und get-interface-informationeine POST-Anforderung an /rpc with senden "Auth: Basic <base64hash>"möchten, "Content-Type: application/xml". Der POST-Text würde Folgendes enthalten:

<get-software-information/><get-interface-information/>

Hier ist ein cURL-Aufruf mit diesem POST-Text:

Die Ausgabe der Anforderung, die XML als Standard enthält, sieht wie folgt aus:

Sie können auch das Ausgabeformat für jedes der Elemente im POST-Text angeben. Die folgende Anforderung gibt z. B. JSON für den get-interface-information RPC und Nur-Text für den get-software-information RPC aus:

Wenn beim Ausführen mehrerer RPCs ein Fehler auftritt, wird der Fehler standardmäßig ignoriert und die Ausführung fortgesetzt. Wenn Sie beenden möchten, wenn der erste Fehler auftritt, geben Sie das Flag stop-on-error im URI an. Die folgende Anforderung konfiguriert z. B. das Gerät und wird beendet, wenn ein Fehler auftritt: