Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

REST API에 POST 요청 제출

HTTP POST 요청을 사용하여 REST API에 단일 또는 여러 RPC 요청을 보냅니다. POST 요청을 사용하여 디바이스를 구성할 수 있습니다.

단일 rpc 명령의 경우 끝점의 일반적인 형식은 다음과 같습니다.

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

  • scheme: http 또는 https

  • method: Junos OS rpc 명령의 이름입니다. method 이름은 태그 요소와 동일합니다. 자세한 내용은 Junos XML API Explorer를 참조하십시오.

  • params: 선택적 매개 변수 값(name[=value])입니다.

요청을 인증하려면 다음 방법 중 하나를 사용할 수 있습니다. 더 안전하므로 옵션을 사용하는 netrc 것이 좋습니다.

  • Authorization 헤더에 포함된 base64로 인코딩된 사용자 이름과 암호를 제출합니다.

  • 또는 .netrc 파일을 사용하여 자격 증명을 저장합니다.

    1. 사용자의 홈 디렉토리에서 .netrc 파일을 작성하고 원격 디바이스의 호스트 이름, 사용자 이름 및 비밀번호를 지정하십시오. 예를 들어:

    2. 사용자에게만 파일에 대한 읽기 및 쓰기 권한이 있는지 확인합니다.

    3. 요청에서 옵션을 지정합니다 --netrc . 예를 들어:

POST 요청에 대한 URI에서 데이터를 쿼리 문자열로 지정하려면 rpc POST 본문에 쿼리 데이터를 제출합니다. 이러한 경우 다음과 같은 동등한 cURL 호출에 표시된 대로 as text/plain 또는 application/xml를 지정할 Content-Type 수 있습니다.

단일 및 다중 RPC 명령의 경우 HTTP Accept 헤더를 사용하여 다음 Content-Type 값 중 하나를 사용하여 반환 형식을 지정할 수 있습니다.

  • application/xml(기본값)

  • 애플리케이션/json

  • text/plain

  • 텍스트/html

예를 들어 다음 cURL 호출은 JSON의 출력 형식을 지정합니다.

선택적 format 속성을 사용하여 출력 형식을 지정할 수도 있습니다.

메모:

본문에 인수를 포함하는 POST 요청의 기본 Content-Type은 application/xml입니다. 쿼리 문자열과 같은 다른 콘텐츠를 사용하려는 경우 text/plain의 Content-Type을 지정할 수 있습니다. 구성 명령에서 format 속성을 지정합니다.

단일 요청에서 여러 rpc 명령을 실행할 때 엔드포인트의 일반적인 형식은 다음과 같습니다.

scheme://device-name:port/rpc

RPC는 POST 본문에 XML 데이터로 제공되어야 합니다. 응답에 대한 Content-Type은 multipart/mixed이며, 각 RPC 실행의 출력과 연결된 경계 및 하위 유형이 있습니다. Accept 헤더에 지정된 형식은 속성이 누락된 format 경우 각 RPC의 출력 형식으로 사용됩니다. 지정된 RPC에서 Accept 헤더 또는 format 특성을 지정하지 않으면 기본 출력 형식은 XML입니다.

예를 들어, RPC get-software-informationget-interface-information를 실행하기 위해 단일 HTTP 요청을 보내려면 , "Content-Type: application/xml"를 사용하여 "Auth: Basic <base64hash>"POST 요청을 /rpc 제출합니다. POST 본문에는 다음이 포함됩니다.

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

다음은 이 POST 본문을 사용하는 cURL 호출입니다.

XML을 기본값으로 포함하는 요청의 출력은 다음과 같이 표시됩니다.

POST 본문의 각 요소에 대한 출력 형식을 지정할 수도 있습니다. 예를 들어 다음 요청은 RPC에 get-interface-information 대한 JSON과 RPC에 대한 get-software-information 일반 텍스트를 내보냅니다.

여러 RPC를 실행할 때 오류가 발생하면 기본 동작은 오류를 무시하고 실행을 계속하는 것입니다. 첫 번째 오류가 발생할 때 종료하려면 URI에 플래그를 stop-on-error 지정합니다. 예를 들어 다음 요청은 디바이스를 구성하고 오류가 발생하면 종료됩니다.