无法通过python脚本登录ONOS

时间:2019-02-21 08:03:36

标签: python rest onos

我已经编写了用于触发ACL的python脚本,但是当我运行该脚本时出现错误

HTTP 404 Not Found

我无法通过脚本登录。附上代码以供参考。

import requests
import time
from requests.auth import HTTPBasicAuth

ONOS_REST_API = "http://172.17.0.2:8181/onos/v1"
ONOS_USER = "onos"
ONOS_PASSWORD = "rocks"

SWITCH = "of:0000000000000001"
SWITCH_PORT = "1"
PACKET_RESET = 1000 # substract this to atual stats
PACKET_TO_TRIGGER_ACL = 6000000000000


def get_packet_count(session):
return session.get("%s/statistics/ports/%s/%s" % (ONOS_REST_API, SWITCH, SWITCH_PORT)).json()["packetsReceived"]-PACKET_RESET


def set_acl(session):
session.post("%s/172.17.0.2:8181/onos/v1/acl" % (ONOS_REST_API), json={"srcIp":"10.0.0.2/32", "dstIp":"10.0.0.1/32", "action": "deny"})

def login():
session = requests.Session()
print session.get(ONOS_REST_API, auth=HTTPBasicAuth(ONOS_USER, ONOS_PASSWORD)).json()
return session


if __name__ == "__main__":
session = login()
while True:
    # Check port packet count
    packets = get_packet_count(session)
    if packets >= PACKET_TO_TRIGGER_ACL:
        set_acl(session)
        break
    time.sleep(10)

0 个答案:

没有答案
相关问题