| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- import requests
- from pprint import pprint
- class Exfo:
- BASE_URL = "https://159.192.8.11/API/REST"
- BASE_IP = "https://159.192.8.11"
- def __init__(self, user, passwd):
- self.user = user
- self.passwd = passwd
- self.cookies = None
- self.session = requests.Session()
- def login(self):
- pprint("--- login ---")
- payload = f'uname={self.user}&pword={self.passwd}&format=json&encryptpword=0'
- headers = {
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Accept': 'application/x-www-form-urlencoded',
- }
- url = self.BASE_URL + "/Login"
- response = self.session.post(url, headers=headers, data=payload, verify=False)
-
- pprint(self.session.cookies.get_dict())
- pprint(response.text)
- pprint(response.cookies)
- #self.cookies = response.cookies
- def list_api(self):
- pprint("---- list_api ---")
- payload = {}
- headers = {
- 'Accept': 'application/json'
- }
- url = self.BASE_URL + "/"
- response = self.session.get(url, headers=headers, data=payload, verify=False)
- pprint(response.json())
- return response
- def call_api(self, service, payload={}):
-
- headers = {
- 'Accept': 'application/json'
- }
- if service == "sla":
- ep = "/SLAs/v1/SLA?size=0"
- url = self.BASE_URL + ep
- response = self.session.get(url, headers=headers, data=payload, verify=False)
- pprint(response.json())
- return response
- def call_remote_api(self, ep, payload={}):
-
- headers = {
- 'Accept': 'application/json'
- }
- url = self.BASE_IP + ep
- pprint(url)
- response = self.session.get(url, headers=headers, data=payload, verify=False)
- pprint(response)
- return response
- def logout(self):
- pprint("---- logout ---")
- pprint(self.session.cookies.get_dict())
- payload = {}
- headers = {
- 'Accept': 'application/json',
- }
- url = self.BASE_URL + "/Logoff?action=logoff"
-
- response = self.session.post(url, headers=headers, data=payload, verify=False)
- pprint(response)
- pprint(response.text)
- def video_tier(self):
- pprint("------ vdo tier -------")
- url = self.BASE_URL + "/Verifiers/v2/VideoTier"
- payload = {}
- headers = {
- 'Accept': 'application/json'
- }
- response = self.session.get(url, headers=headers, data=payload, verify=False)
- pprint(response.json())
- def test_implement(self):
- pprint('------- test_implement -----')
- url = self.BASE_URL + "/Test/v1"
- payload = {}
- headers = {
- 'Accept': 'application/json'
- }
- pprint(self.session.cookies.get_dict())
- response = self.session.get(url, headers=headers, data=payload, verify=False)
- pprint(response.json)
- def test_avl_test_types(self):
- pprint('------- test_avl_test_types -----')
- url = self.BASE_URL + "/Test/v1/TypeByName?list_all=true"
- payload = {}
- headers = {
- 'Accept': 'application/json'
- }
- response = self.session.get(url, headers=headers, data=payload, verify=False)
- print(response.json())
- from requests.auth import HTTPBasicAuth
- class Mikrotik:
- BASE_URL = "https://110.77.145.239/rest/"
- basic = HTTPBasicAuth('brix', 'Digitins_01')
- headers = {
- 'Authorization': 'Basic YWRtaW46RGlnaXRpbnNfMDE='
- }
- def call_remote(self, cmd, payload={}):
- url = self.BASE_URL + cmd
- pprint(url)
- response = requests.get(url, auth=self.basic, data=payload, verify=False)
- return response.json()
- if __name__ == '__main__':
- e = Exfo("administrator", "exf0w0rxC@t4dm!n")
- e.login()
- e.list_api()
- e.video_tier()
- e.test_implement()
- e.test_avl_test_types()
- e.logout()
- mkt = Mikrotik()
- pprint("--- ip/route ---")
- pprint(mkt.call_remote("ip/route"))
- pprint("--- ip/address -- ")
- pprint(mkt.call_remote("ip/address"))
|