A10のaXAPIも試してみる_Pythonで。

A10 networksのaXAPIも検証してみたので忘備録として残しておきます。

aXAPIの説明はこちら
http://www.a10networks.co.jp/products/axseries/axapi.html

今回はhostnameをゲットだぜ!!

aXAPIを使用してhostnameを取得してみます。

まずsession-idをゲットだぜ!!

【url】
https://xx.xx.xx.xx/services/rest/V2/?method=authenticate&username=admin&password=a10

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import ssl
import socket
import httplib

conn = httplib.HTTPSConnection("10.xxx.xxx.xxx")
sock = socket.create_connection((conn.host, conn.port), conn.timeout, conn.source_address)
conn.sock = ssl.wrap_socket(sock, conn.key_file, conn.cert_file, ssl_version=ssl.PROTOCOL_TLSv1)
conn.request("GET","/services/rest/V2/?method=authenticate&username=admin&password=a10")
r1 = conn.getresponse()

data = r1.read()
print data

レスポンス

<?xml version="1.0" encoding="utf-8" ?>
 <response status="ok">
  <session_id>bcxxxxxxxxxxx</session_id>
</response>

いよいよhostnameをゲットだぜ!!

【url】
https://xx.xx.xx.xx/services/rest/V2/

【body】
session_id=xxxxxxxxxxxxxxxxxxxx&method=system.hostname.get

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import ssl
import socket
import httplib

conn = httplib.HTTPSConnection("10.xxx.xxx.xxx")
sock = socket.create_connection((hconn.host, hconn.port), hconn.timeout, hconn.source_address)
conn.sock = ssl.wrap_socket(sock, hconn.key_file, hconn.cert_file, ssl_version=ssl.PROTOCOL_TLSv1)
url = "/services/rest/V2/?session_id=bcxxxxxxxxxxx&method=system.hostname.get&format=json"
hconn.request("GET", url)
r1 = hconn.getresponse()

hostname = r1.read()
print hostname

session-idは認証の時にゲットしたものを利用

レスポンス

<?xml version="1.0" encoding="utf-8" ?>
 <response status="ok">>
  <hostname>AX3030</hostname>
</response>

無事にゲットできましたヽ(=´▽`=)ノ

javascriptでこんなのもつくってみた

f:id:kashigeru:20140115181201p:plain

A10Hostnameボタンをクリックするとヽ(=´▽`=)ノ

f:id:kashigeru:20140115181237p:plain

<!doctype html>
<html lang="ja">
<head>
A10_HostName_Getter
</head>
<form>
 <input type="button" id="hostname" value="A10hostname">
<form>
<div id="hn"></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$("#hostname").on("click",function(){
    $.ajax({
        url: '/hostnameget.py',
        dataType: 'xml',
        async: true,
        success: function(xml){
                var html = $(xml).find('response hostname').text();
                console.log(html);
                $('#hn').html(html);
        },
    });
});
</script>
</html>