Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Envoi d’une requête POST à l’API REST

Utilisez une requête HTTP POST pour envoyer une ou plusieurs requêtes RPC à l’API REST. Vous pouvez utiliser la requête POST pour configurer l’appareil.

Pour une seule rpc commande, le format général des points de terminaison est le suivant :

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

  • scheme: http ou https

  • method: nom de n’importe quelle commande Junos OS rpc . Le method nom est identique à l’élément tag. Pour plus d’informations, reportez-vous à l’Explorateur d’API XML Junos.

  • params: Valeurs de paramètre facultatives (name[=value]).

Pour authentifier votre demande, vous pouvez utiliser l’une des méthodes suivantes. Nous vous recommandons d’utiliser cette netrc option car elle est plus sécurisée.

  • Indiquez le nom d’utilisateur et le mot de passe codés en base64 inclus dans l’en-tête Authorization.

  • Vous pouvez également utiliser un fichier .netrc pour stocker les informations d’identification.

    1. Dans le répertoire personnel de l'utilisateur, créez le fichier .netrc et spécifiez le nom d'hôte, le nom d'utilisateur et le mot de passe de l'équipement distant. Par exemple:

    2. Assurez-vous que seul l’utilisateur dispose des droits de lecture et d’écriture sur le fichier.

    3. Dans la demande, spécifiez l’option --netrc . Par exemple:

Pour spécifier rpc des données en tant que chaîne de requête dans l’URI des requêtes POST, soumettez les données de requête dans le corps de l’opération POST. Dans ce cas, vous pouvez spécifier as Content-Type text/plain ou application/xml, comme indiqué dans ces appels cURL équivalents :

Pour les commandes RPC simples et multiples, les en-têtes HTTP Accept peuvent être utilisés pour spécifier le format de retour à l’aide de l’une des valeurs Content-Type suivantes :

  • application/xml (valeur par défaut)

  • application/json

  • texte/brut

  • texte/html

Par exemple, l’appel cURL suivant spécifie un format de sortie JSON :

Vous pouvez également spécifier le format de sortie à l’aide de l’attribut facultatif format :

Note:

Le type de contenu par défaut pour les requêtes POST contenant des arguments dans le corps est application/xml. Si vous souhaitez utiliser un autre contenu, tel qu’une chaîne de requête, vous pouvez spécifier un type de contenu text/plain. Spécifiez l’attribut dans les format commandes de configuration.

Lors de l’exécution de plusieurs rpc commandes dans une seule requête, le format général du point de terminaison est le suivant :

scheme://device-name:port/rpc

Les RPC doivent être fournis sous forme de données XML dans le corps de l’auto-test de démarrage (POST). Le type de contenu de la réponse est multipart/mixte, avec une limite et un sous-type associés à la sortie de chaque exécution RPC. Le format spécifié dans l’en-tête Accept est utilisé comme format de sortie pour chacun des RPC s’il leur manque un format attribut. Si vous ne spécifiez pas d’en-tête Accept ou d’attribut format dans un RPC donné, le format de sortie par défaut est XML.

Par exemple, pour envoyer une seule requête HTTP pour exécuter les get-software-information RPC et get-interface-information, envoyez une requête POST à /rpc avec "Auth: Basic <base64hash>", "Content-Type: application/xml". Le corps de l’auto-test de démarrage (POST) contiendrait :

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

Voici un appel cURL utilisant le corps de ce POST :

La sortie de la requête, contenant XML par défaut, s’affiche comme suit :

Vous pouvez également spécifier le format de sortie de chacun des éléments du corps de l’auto-test de démarrage (POST). Par exemple, la requête suivante émet du JSON pour le RPC et du get-interface-information texte brut pour le get-software-information RPC :

Lors de l’exécution de plusieurs RPC, si une erreur se produit, le comportement par défaut est d’ignorer l’erreur et de poursuivre l’exécution. Si vous souhaitez quitter lorsque la première erreur est rencontrée, spécifiez l’indicateur stop-on-error dans l’URI. Par exemple, la requête suivante configure l’appareil et s’arrête si une erreur est rencontrée :