Вывести код состояния из сообщения в вызове json-rpc - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть рабочий скрипт, который отлично справляется со своей задачей, но я не могу понять, как напечатать код состояния после запуска скрипта. Может ли кто-нибудь, пожалуйста, рассмотреть и предоставить некоторые рекомендации и помощь?

import requests
import json


url = 'http://10.3.198.100/ins'
switchuser = 'user'
switchpassword = 'password'

myheaders = {'content-type' : 'application/json-rpc'}
payload = [
  {
    "jsonrpc": "2.0",
    "method": "cli",
    "params": {
    "cmd": "vrf context management",
    "version": 1
    },
    "id": 1
  },
  {
    "jsonrpc": "2.0",
    "method": "cli",
    "params": {
    "cmd": "ip route 192.168.255.0/24 10.3.198.130",
    "version": 1
  },
    "id": 2
  },
  {
    "jsonrpc": "2.0",
    "method": "cli",
    "params": {
    "cmd": "copy run start",
    "version": 1
    },
    "id": 3
  }
 ]
 response = requests.post(url, data = json.dumps(payload), headers = myheaders, auth = (switchuser, switchpassword)).json()

1 Ответ

0 голосов
/ 26 апреля 2018

Вы немедленно звоните .json() после того, как ваш .post() вернется. Это означает, что вы отбрасываете остальную информацию из ответа.

Попробуйте вместо этого:

response = requests.post(
    url,data=json.dumps(payload),
    headers=myheaders,
    auth=(switchuser,switchpassword))
json_response = response.json()
print(response.status_code)

Ссылка: http://docs.python -requests.org /

...