尝试与API

时间:2017-08-17 20:03:44

标签: python network-programming

我正在学习如何在编程培训中与API进行交互。对于我尝试与之交互的软件,沙盒环境使用以下脚本。

由于某种原因,我无法登录API来运行第二个功能。有没有人看到这个问题?

# import requests library
import requests

#import json library
import json

controller='apicontroller@test.com'


def getToken():
    # put the ip address or dns of your apic-em controller in this url
    url = "https://" + controller + "/api/aaaLogin.json"

    json_object = {
        "aaaUser" : {
            "attributes" : {
                "name" : "******",
                "pwd" : "*******"
            }
        }
    }

    #Content type must be included in the header
    header = {"content-type": "application/json"}

    #Performs a POST on the specified url to get the service ticket
    response= requests.post(url,data=json.dumps(json_object), headers=header, verify=False)
    #convert response to json format
    r_json=response.json()

    #parse the json to get the service ticket
    token = r_json["response"]["token"]

    return token


def pushtenant():
    #    URL for network device REST API call to get list of existing devices on the network.
    url = "https://" + controller + "/api/api/mo/uni"

    #Content type must be included in the header as well as the ticket
    headers = {"content-type": "application/json", "X-Auth-Token":Token}

    json_tenant = [{
       "fvTenant" : {
           "attributes" : {
               "name" : "ExampleCorp"
           }
       }
    }]
    # this statement performs a GET on the specified network-device url
    response = requests.post(url, json.dumps(json_tenant), headers=headers,verify=False)

    # json.dumps serializes the json into a string and allows us to
    # print the response in a 'pretty' format with indentation etc.
    print ("Response = ")
    print (json.dumps(response.json(), indent=4, separators=(',', ': ')))
    enter code here

    #convert data to json format.
    r_json=response.json()

theToken=getToken()
pushtenant(theToken)

0 个答案:

没有答案