日本語フォーラム

 View Only

[API] POSTMANでスクリプトも簡単に作成

This thread has been viewed 5 times
  • 1.  [API] POSTMANでスクリプトも簡単に作成

    Posted Sep 20, 2017 08:20 AM

    AOS8のAPIは、コントローラのapiのページから簡単に試すこともできますが、POSTMANを使う方がオススメです。

    POSTMANはPost Putty (日本だとPost Teratermですね)とも言われており、API使いはかなりの人が使っています。

    POSTMANのいいところは、実際のAPIコマンドに近い形でAPIを使えるところと、そのAPIを様々なスクリプトに自動変換してくれるところです。

    なので、POSTMANで動作を確認し、それをそのままPythonなどのスクリプトにすることができます。

     

    AOS8でPOSTMANを使うときの注意点は、まずloginコマンドを送ってCookie (UIDARUBA)を取得し、次のコマンドからは、このUIDARUBAを使う必要があります。

     

    POSTMANの画面

    API_Login.png

    レスポンスはこんな感じ

    {
        "_global_result": {
            "status": "0",
            "status_str": "You've logged in successfully.",
            "UIDARUBA": "b4fef28a-4b5c-4a6d-9822-6108966eeca6"
        }
    }

     

    次からは、ParameterにUDIARUBAを記載してAPIコマンドを送信します。

     

    SSID Profileを取得するAPIの例

    GET_SSID_Profile.png

     

    最後に、右下の"Code"をクリックすると、PythonやJavascriptなど色々なスクリプトに変換してくれます。

    POSTMAN_Script.png

    Pythonでスクリプトを書くときは、以下の様にUIDARUBAを取得するスクリプトを関数などで定義して使いましょう。

    ### GET UIDARUBA ###
        s = requests.session()
        url = "https://"+controller_ip+":4343/v1/api/login"
        body = {
            'username' : username,
            'password' : password
        }
        r = s.request("POST", url, data=body, verify=False)
        UIDARUBA=r.json()['_global_result']['UIDARUBA']
    
    ### GET SSID Profile ###
        url = "https://"+controller_ip+":4343/v1/configuration/object/ssid_prof"
        params = {
            'config_path' : '/md',
            'UIDARUBA' : UIDARUBA
        }