Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

REST API への GET リクエストの送信

rpc コマンドの場合、エンドポイントの一般的な形式は次のとおりです。

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

  • scheme: http または https

  • method: 任意の Junos OS rpc コマンドの名前。 method 名は、tag 要素と同じです。詳細については、 Junos XML API Explorer を参照してください。

  • params: 省略可能なパラメーター値 (name[=value])。

要求を認証するには、次のいずれかの方法を使用できます。 netrc オプションの方が安全性が高いため、使用することをお勧めします。

  • 認証ヘッダーに含まれる base64 でエンコードされたユーザー名とパスワードを送信します。

  • または、 .netrc ファイルを使用して資格情報を保存します。

    1. ユーザーのホーム ディレクトリで .netrc ファイルを作成し、リモート デバイスのホスト名、ユーザー名、およびパスワードを指定します。例えば:

    2. ユーザーのみがファイルの読み取りと書き込みのアクセス許可を持っていることを確認します。

    3. 要求で、 --netrc オプションを指定します。例えば:

GET 要求の URI でrpcデータをクエリ文字列として指定するには、URI の後に複数の引数を区切る&区切り記号を持つ?を使用するか、次の同等の cURL 呼び出しに示すように、/区切り記号を使用します。

例えば:

HTTP 受け入れヘッダーを使用すると、次のいずれかのコンテンツ タイプ値を使用して戻り形式を指定できます。

  • アプリケーション/XML (デフォルト)

  • アプリケーション/JSON

  • テキスト/プレーン

  • テキスト/html

たとえば、次の cURL 呼び出しでは、JSON の出力形式を指定します。

Junos OS RPCのオプションの format パラメーターを使用して、出力形式を指定することもできます。

たとえば、 <get-software-information> タグ要素は、ソフトウェア プロセスのリビジョン レベルを取得します。次の HTTPS GET リクエストは、このコマンドを実行し、結果を JSON 形式で取得します。

次のPythonプログラムは、RESTインターフェイスを使用して get-route-engine-information RPCを実行し、応答からデータを抽出し、CPU負荷平均のグラフをプロットします。 requests モジュールは、指定されたデバイスに関連付けられている資格情報について、ユーザーの .netrc ファイルを自動的にチェックします。または、要求に auth=(usernamepassword ) 引数を含めて資格情報を指定することもできます。