OpenDayLight 氫版本 RestAPI 呼叫例項(2)-主機資訊獲取(Python)
本篇博文主要介紹在已經完成搭建OpenDayLight的系統上使用Python3呼叫Rest Api來獲取網路中的主機資訊。
要點
1.本專案採用了httplib2的庫進行的Http的請求功能
2.採用了Basic Auth的方式進行的使用者認證
當前已經完成程式碼如下:目前已經完成了網路的拓撲結構的獲取以及主機的資訊的獲取
程式碼如下:
import httplib2
class OdlUtil:
url = ''
def __init__(self, host, port):
self.url = 'http://' + host + ':' + str(port)
'''
得到網路中的拓撲資訊
'''
def get_topology(self, container_name='default', username="admin", password="admin"):
http = httplib2.Http()
http.add_credentials(name=username, password=password)
headers = {'Accept': 'application/json'}
response, content = http.request(uri=self.url + '/controller/nb/v2/topology/' + str(container_name), headers=headers)
return content.decode()
'''
得到網路中的節點資訊
'''
def get_hosts(self, address,container_name='default', username="admin", password="admin"):
http = httplib2.Http()
http.add_credentials(name=username, password=password)
headers = {'Accept': 'application/json'}
response, content = http.request(uri=self.url + "/controller/nb/v2/hosttracker/" + str(container_name) + "/address/" + str(address),
headers=headers)
return content.decode()
呼叫方式(引數為需要獲取主機的IP地址,可選引數為使用者名稱與密碼)
odl = OdlUtil('127.0.0.1', '8080')
result = odl.get_hosts("10.0.0.2")
print(result)
返回結果
{“dataLayerAddress”:”00:00:00:00:00:02”,”nodeType”:”OF”,”nodeId”:”00:00:00:00:00:00:00:02”,”nodeConnectorType”:”OF”,”nodeConnectorId”:”3”,”vlan”:”0”,”staticHost”:false,”networkAddress”:”10.0.0.2”}
相關文章
- javascript獲取主機域名程式碼例項JavaScript
- js獲取主機域名程式碼例項JS
- linux下面獲取主機資訊Linux
- python獲取aliyun ECS例項Python
- Python例項獲取mp3檔案的tag資訊Python
- 使用python收集獲取Linux系統主機資訊PythonLinux
- 獲取資訊版本1
- js獲取瀏覽器版本作業系統等資訊程式碼例項JS瀏覽器作業系統
- 【Python】獲取機器使用資訊Python
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- 【Python】獲取主機ip的方式Python
- Android如何獲取手機各項資訊Android
- Python呼叫ansible API系列(一)獲取資產資訊PythonAPI
- python 呼叫 shell ,獲取返回值和返回資訊Python
- 5 個獲取 Linux 主機資訊的命令Linux
- React獲取元件例項React元件
- javascript獲取本機ip地址程式碼例項JavaScript
- 間接獲取flash主版本號
- 獲取app版本號相關資訊APP
- 根據身份證號碼獲取性別資訊程式碼例項
- JavaScript獲取星期程式碼例項JavaScript
- MFC中獲取程式自身的版本資訊
- Python獲取網路中的存活主機以及哪些主機是LinuxPythonLinux
- js獲取數字和字母隨機數程式碼例項JS隨機
- js獲取指定區間的隨機數程式碼例項JS隨機
- Nacos - 客戶端例項列表獲取客戶端
- 通過反射獲取窗體例項反射
- jquery獲取元素高度程式碼例項jQuery
- JS獲取跨域的cookie例項JS跨域Cookie
- openstack命令建立雲主機例項
- 【RAC】使用crsctl命令獲取Oracle CRS版本資訊Oracle
- Linux—一臺主機部署多版本mysql服務和mysql例項LinuxMySql
- JavaScript 獲取主機名程式碼JavaScript
- 讀取麒麟系統的各項版本資訊
- python呼叫方法必須例項化麼Python
- Python通過ctypes呼叫C程式例項PythonC程式
- js獲取指定位數不重複隨機數程式碼例項JS隨機
- Android獲取手機配置資訊Android