Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Enviar uma solicitação POST à REST API

Use uma solicitação DE POST HTTP para enviar solicitações de RPC individuais ou múltiplas à REST API. Você pode usar a solicitação POST para configurar o dispositivo.

Para um único rpc comando, o formato geral dos endpoints é:

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

  • scheme: http ou https

  • method: O nome de qualquer comando junos OS rpc . O method nome é idêntico ao elemento tag. Para obter mais informações, veja o Junos XML API Explorer.

  • params: Valores de parâmetro opcionais (name[=value]).

Para autenticar sua solicitação, você pode usar um dos seguintes métodos. Recomendamos usar a opção netrc porque ela é mais segura.

  • Envie o nome de usuário e a senha com código base64 incluídos no cabeçalho de autorização.

  • Alternativamente, use um arquivo .netrc para armazenar as credenciais.

    1. No diretório de casa do usuário, crie o arquivo .netrc e especifique o nome de host, nome de usuário e senha para o dispositivo remoto. Por exemplo:

    2. Certifique-se de que apenas o usuário tenha lido e escreva permissão para o arquivo.

    3. Na solicitação, especifique a opção --netrc . Por exemplo:

Para especificar rpc dados como uma string de consulta na URI para solicitações post, envie os dados de consulta no órgão POST. Nesses casos, você pode especificar o Content-Type como text/plain ou application/xml, conforme mostrado nestas chamadas cURL equivalentes:

Para comandos RPC únicos e múltiplos, os cabeçalhos HTTP Accept podem ser usados para especificar o formato de devolução usando um dos seguintes valores do tipo de conteúdo:

  • aplicativo/xml (o padrão)

  • aplicativo/json

  • texto/simples

  • texto/html

Por exemplo, a chamada cURL a seguir especifica um formato de saída do JSON:

Você também pode especificar o formato de saída usando o atributo opcional format :

Nota:

O tipo de conteúdo padrão para solicitações POST que contêm argumentos no corpo é aplicativo/xml. Se você quiser usar qualquer outro conteúdo, como uma string de consulta, você pode especificar um tipo de conteúdo de texto/simples. Especifique o format atributo nos comandos de configuração.

Ao executar vários rpc comandos em uma única solicitação, o formato geral do endpoint é:

scheme://device-name:port/rpc

Os RPCs devem ser fornecidos como dados XML no corpo POST. O tipo de conteúdo para a resposta é multipart/misto, com limite e subtipo associados à saída de cada execução de RPC. O formato especificado no cabeçalho Aceite é usado como formato de saída para cada um dos RPCs se eles estiverem faltando um format atributo. Se você não especificar um cabeçalho aceitar ou o format atributo em um determinado RPC, o formato de saída padrão é XML.

Por exemplo, enviar uma única solicitação de HTTP para executar os RPCs get-software-information e get-interface-informationenviar uma solicitação post com"Auth: Basic <base64hash>", . "Content-Type: application/xml"/rpc O corpo post conteria:

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

Aqui está uma chamada de cURL usando este corpo POST:

A saída da solicitação, contendo XML como padrão, apareceria da seguinte forma:

Você também pode especificar o formato de saída para cada um dos elementos no corpo POST. Por exemplo, a solicitação a seguir emite json para o get-interface-information RPC e texto simples para o get-software-information RPC:

Ao executar vários RPCs, se ocorrer um erro, o comportamento padrão é ignorar o erro e continuar a execução. Se você quiser sair quando o primeiro erro for encontrado, especifique a stop-on-error bandeira na URI. Por exemplo, a solicitação a seguir configura o dispositivo e termina se um erro for encontrado: