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 à API REST

Use uma solicitação HTTP POST para enviar solicitações de RPC simples ou múltiplas para a API REST. Você pode usar a solicitação POST para fazer a configuração do 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 rpc OS. O method nome é idêntico ao elemento tag. Para obter mais informações, consulte o Junos XML Protocol Operations, Processing Instructions e Tags de resposta no Guia do Desenvolvedor do Protocolo de Gerenciamento Junos XML e a Referência do Desenvolvedor Operacional da API Junos XML.

  • params: valores dos parâmetros opcionais ( name[=value] ).

Para autenticar sua solicitação, envie o nome de usuário e a senha com codificação base64 incluídos no header Authorization:

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

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

  • aplicativo/xml (o padrão)

  • aplicativo/json

  • texto/plano

  • text/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 format atributo opcional:

Observação:

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/texto simples. Especifique format o 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 DO POST. O tipo de conteúdo para a resposta é multiparte/misto, com limite e subtipo associados à saída de cada execução de RPC. O formato especificado no header Aceitar é usado como o formato de saída para cada um dos RPCs se não tiver um format atributo. Se um header Aceitar não for especificado e se nenhum atributo for especificado em um determinado RPC, o formato de saída format padrão é XML. Por exemplo, enviar uma única solicitação HTTP para executar os RPCs e enviar uma get-software-information get-interface-information solicitação POST /rpc para. "Auth: Basic <base64hash>" "Content-Type: application/xml" O corpo DO POST conteria:

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

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

A saída da solicitação, que contém XML como padrão, aparece da seguinte forma:

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

Ao executar vários RPCs, caso ocorra 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 o stop-on-error sinal no URI. Por exemplo, a seguinte solicitação configura o dispositivo e termina se um erro for encontrado: