我正在尝试使用python脚本和restconf在路由器中激活OSPF路由协议。我将请求发送到此url错误,但收到以下返回消息:{“https://(router/restconf/data/Cisco-IOS-XE-ospf-native-router:10”:{"error":{ "error-message":“找不到uri keypath”,"error-tag":"invalid-value","error-type":"application“}}}
我尝试了不同的网址,但没有人是正确的,我不知道什么是错误的,网址或正文的内容,有人能帮我吗?
以下是我的脚本内容:
import json
import requests
requests.packages.urllib3.disable_warnings()
api_url = "https://(ip)/restconf/data/Cisco-IOS-XE-ospf-native-router:10"
headers = {"Accept": "application/yang-data+json",
"Content-type": "application/yang-data+json"}
basicauth = ("user", "password")
body = '{"router":{"ospf":[{"id":10, "router-id":"1.1.1.1", "network":[{"ip": "172.16.199.1", "mask": "0.0.0.0", "area": 0},{"ip":"192.168.56.101", "mask": "0.0.0.0", "area":0}]}]}}'
requests.put(api_url, auth=basicauth, headers=headers, data=body, verify=False)
resp = requests.get(api_url, auth=basicauth, headers=headers, verify=False)
response_json = resp.json()
print(json.dumps(response_json, indent=5))发布于 2021-02-09 00:50:31
使用RESTCONF OSPF配置只能修改,不能创建。
ospf_data = '''
{
"Cisco-IOS-XE-native:router": {
"Cisco-IOS-XE-ospf:router-ospf": {
"ospf": {
"process-id": [
{
"id": 10
}
]
}
}
}
}
'''
def modify_ospf(data):
ospf_api = "/restconf/data/Cisco-IOS-XE-native:native/router"
ospf_uri = "https://" + host + ospf_api
headers = {'Content-Type': 'application/yang-data+json','Accept': 'application/yang-data+json'}
ospf_config_result = requests.request("PUT",
url=ospf_uri,
auth=(username,password),
data=data,
headers=headers,
verify=False)
modify_ospf(ospf_data)
发布于 2021-02-12 09:08:17
你的身体似乎不是有效的阳格式。
body = '{"router":{"ospf":[{"id":10, "router-id":"1.1.1.1", "network":[{"ip": "172.16.199.1", "mask": "0.0.0.0", "area": 0},{"ip":"192.168.56.101", "mask": "0.0.0.0", "area":0}]}]}}'
你必须遵循YANG的格式,比如:
$ curl -k -s -u user:password -X GET -H 'Accept: application/yang-data+json' https://172.31.5.1/restconf/data/Cisco-IOS-XE-native:native/Cisco-IOS-XE-native:router/ospf
{
"Cisco-IOS-XE-ospf:ospf": [
{
"id": 10,
"router-id": "1.1.1.1",
"network": [
{
"ip": "172.16.199.1",
"mask": "0.0.0.0",
"area": 0
},
{
"ip": "192.168.56.101",
"mask": "0.0.0.0",
"area": 0
}
]
}
]
}https://stackoverflow.com/questions/61989491
复制相似问题