如何使用 python post 一个对象到 sonicwall api?

How to post an object to sonicwall api with python?

最近我的管理员问我是否可以创建一个应用程序来将一些数据输入我们的 Sonicwall。 我找到了一些 API,创建了一个帐户,运行 一些“获取”方法,它们工作得很好。我现在正在尝试 post 将一个新对象添加到我们的 pv4 规则中,但无法克服它。 问题是当我写这样的东西时:

def postIpv4Object(session):
body = {
    "address_objects": [{
            "ipv4": {
                "name": "Test 1",
                "zone": "LAN",
                "host": {
                    "ip": "192.168.168.10"
                }
            }
        }
    ]
}

resp = session.post(fw + '/api/sonicos/address-objects/ipv4', headers=good_headers,params=body, verify=False)

我仍然收到此错误:

{'status': {'info': [{'code': 'E_INVALID_API_CALL',
                  'level': 'error',
                  'message': 'Expected a request body.'}],
        'success': False}}

我正在阅读文档,但无法真正理解这一点。有没有人试过并帮助我一点?

经过几天的尝试,我认为“body”应该转换成JSON类型,而不是“params我需要使用”data“。