u如何设置url参数不自动转码_网络自动化与可编程12

本文介绍了如何使用cURL和Postman与Cisco ASA RESTful API进行交互。首先,通过cURL命令发送HTTP GET请求来检索接口配置,并通过Postman进行更友好的API测试。Postman提供了方便的界面来设置HTTP头、身份验证和请求体,使得API调用和响应的查看更为直观。然后,文章转向了使用NETCONF协议进行网络设备配置,展示了如何通过SSH会话构建和发送NETCONF请求。
摘要由CSDN通过智能技术生成

我们已经介绍了要讨论的API类型,现在让我们将重点转移到探索这些API上。

探索网络API

在开始使用网络API并与之交互时, 我们的重点就像迄今为止所关注的那样—与设备商无关的工具和库。更具体地说,将研究cURL和Postman等工具,以用于基于HTTP的API;以及NETCONF over SSH,用于与网络设备上的NETCONF API一起使用。 需要注意的是,这篇讲的是关于网络API的探索,因为我们展示了如何在不编写任何代码的情况下开始使用和测试网络API。重点是使用迄今为止所学的关于指定API类型的知识。不介绍您将用于自动化生产网络的工具和技术,这些类型的工具和库将在“使用网络API自动化”中介绍。 探索基于HTTP的API 我们将从基于HTTP的API开始。注意,相同的工具可以用于基于RESTful和非RESTful的HTTP API。要看的第一个工具是cURL。 cURL

cURL是一个用于处理url的命令行工具。这意味着从Linux命令行,我们可以使用cURL程序发送HTTP请求。虽然cURL使用URL,但它可以使用HTTP以外的协议与服务器通信,包括FTP,SFTP,TFTP,TELNET等。您可以从Linux命令行使用mancurl命令来深入了解curl支持的所有各种选项。

我们将研究如何将cURL与Cisco ASA RESTful API结合使用。由于我们刚刚开始使用RESTful API,我们将从一个简单的HTTP GET请求开始,该请求将检索Cisco ASA安全设备的所有接口。

支持RESTful API的Cisco ASA和ASAv平台具有内置的API文档和一个用于在ASA上直接测试API的控制台。可以浏览到https:///doc/,登录,然后查看并测试asa支持的每个API。

为了进行API调用以检索接口列表及其配置,我们将使用以下示例所示的cURL语句:

$ curl -u ntc:ntc123 -k https://asav/api/interfaces/physical

该语句使用两个标志并指定检索ASA上接口所需的URL。第一个标志是-u,它表示后面将出现用户名:_password_u。第二个标志是-k,它明确允许cURL执行不安全的SSL连接,在本例中需要允许在ASA上使用自签名证书。最后,我们指定要查询的资源的URL 。

$ curl -u ntc:ntc123 -k https://asav/api/interfaces/physical# response omitted

如果您发出前面的cURL语句,则会在终端上看到大字包装的输出字,难以阅读。您可以通过管道将响应传递给python -m json.tool,以漂亮地打印响应对象,使其更易于阅读。

$ curl -u ntc:ntc123 -k https://asav/api/interfaces/physical | python -m json.tool

   % Total  % Received  % Xferd   Average Speed  Time  Time  Time  Current  Dload  Upload  Total  Spent  Left  Speed 

100  4114  100  4114  0  0  15819  0  --:--:--  --:--:--  --:--:--  15884

{

   "kind":"collection#MgmtInterface",   "selfLink":"https://asav/api/interfaces/physical",   "rangeInfo":{         "offset":0,        "limit":4,        "total":4    },   "items":[
       {              "kind":"object#MgmtInterface","selfLink":"https://asav/api/interfaces/physical/Management0_API_SLASH_0",             "hardwareID":"Management0/0",             "interfaceDesc":"",             "channelGroupID":"",             "channelGroupMode":"active",             "duplex":"auto",             # keys removed for brevity             "managementOnly":true,             "mtu":1500,             "name":"management",             "securityLevel":0,             "shutdown":false,             "speed":"auto",             "ipAddress":{                   "kind":"StaticIP",                  "ip":{                       "kind":"IPv4Address",                      "value":"10.0.0.101"                   },             "netMask":{                       "kind":"IPv4NetMask",                      "value":"255.255.255.0"                   }
             },,             "objectId":"Management0_API_SLASH_0"     },     {              "kind":"object#GigabitInterface","selfLink":"https://asav/api/interfaces/physical/GigabitEthernet0_API_SLASH_0",             "hardwareID":"G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值