一、实验目的 
对 Python 调用 OpenDaylight 的 REST API 方法有初步了解。
 
二、实验任务 
本实验需要用另一种方法完成上一个实验相同的功能,即通过 Python 程序调用OpenDaylight 的北向接口下发关于硬超时的流表,实现拓扑内主机在一定时间内的网络通断。实验拓扑如下:
 
三、实验步骤 
1. 实验环境:安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机
2. 实验过程
 
(1)生成拓扑 方法同之前的实验一致
$ sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
 
(2)编写 Python 代码和 JSON 格式的请求内容
$ nano odlnorth.py
由于是下发流表,因此需要有 http 请求的具体内容,同之前的 Postman 一样,也是以 JSON 格式来表示。
 
编辑 hardtimeout.json 文件(文件中不包含 http 请求的 url 地址):
$ nano hardtimeout.json
 
(3)运行 Python 代码,完成流表下发(结果验证方法同实验 6)
 
* 提示:运行代码如果报错:ImportError: No module named requests,可尝试如下方法。
 
$ sudo apt-get install python-pip //如果 pip 没装的话需要运行
$ sudo pip install requests
$ python odlnorth.py
 
遇到问题!
 
 
 
* 更多 OpenDaylight 的 REST API 文档可以在下面的地址中查找:http://127.0.0.1:8181/apidoc/explorer/index.html 

10.14 2020 实验 7:OpenDaylight 实验——Python 中的 REST API 调用的更多相关文章

  1. 实验 7 : OpenDaylight 实验 —— Python 中的 REST API 调用

    实验 7 : OpenDaylight 实验 -- Python 中的 REST API 调用 一.实验 目的 对 Python 调用 OpenDaylight 的 REST API 方法有初步了解. ...

  2. 数理统计(二)——Python中的概率分布API

    数理统计(二)——Python中的概率分布API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 数理统计中进行假设检验需要查一些分布的上分位数表.在scip ...

  3. 实验 6:OpenDaylight 实验——OpenDaylight 及 Postman 实现流表下发

    一.实验目的 熟悉 Postman 的使用;熟悉如何使用 OpenDaylight 通过 Postman 下发流表. 二.实验任务 流表有软超时和硬超时的概念,分别对应流表中的 idle_timeou ...

  4. python中函数的定义,调用,全局变量,局部变量,函数的嵌套使用-初级篇

    函数的基本概述 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,可以思考一下如果有某个功能的代码是在多个地方使用的是否可以只写一次?此时的代码该如何定义.先观察以下的案例: ...

  5. Python爬虫之百度API调用

    调用百度API获取经纬度信息. import requests import json address = input('请输入地点:') par = {'address': address, 'ke ...

  6. Python中使用高德API实现经纬度转地名

    场景 高德API提供给开发者们一些常用功能的接口,其中有一种叫地理/逆地理编码能实现 地名查询经纬度和经纬度查地名. 实现 高德API平台: https://lbs.amap.com/ 注册并登陆 找 ...

  7. python中不同包之间调用方法、

    在pycharm中... 当两个py文件在同一个文件夹下的时候.直接from 文件名 import *  即可 当两个文件在不同的文件夹下的时候.需要在文件中加入 _init_.py 文件.里面可以什 ...

  8. python中函数定义与调用顺序问题

    def main(): try: mtd(3) except Exception as e: print("程序出现异常:", e) mtd(3) def mtd(a): if a ...

  9. python中time模块的调用及使用

    1 import time #通常import语句会写到代码的开头 2 3 print('------------------------') 4 print('------------------- ...

  10. 简单介绍下python中函数的基础语法

    python 函数 定义 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 特性 减少代码重复 使程序变得可扩展 使程序变得易于维护 函数的创建 pyt ...

随机推荐

  1. Centos7 更换yum软件源

    https://blog.csdn.net/zhinian1204/article/details/123975403

  2. java的集合以及数据结构

    一.集合 1.介绍 红色为接口 蓝色为实现类 2.三种遍历方式 迭代器 增强for lambda表达式 Integer[] arr = col.toArray(new Integer[col.size ...

  3. JS学习-常用的Web API

    web API web-api 分类 链接 描述 操作文档的API 操作document dom,html,svg 从服务器获取数据的API XMLHttpRequest XMLHttpRequest ...

  4. el-pagination分页-自定义左右箭头样式

    1,官方样式: 查了网上,有人说可以用slot插槽,但是试过之后,因为 不能插入多个 slot(没法定义名字做区分),所以导致左右按钮一样了.. 2,还有种方法: 利用 prev-text  和  n ...

  5. 第九章 MySQL 高可用(MHA)

    MySQL 高可用(MHA) 一 MHA高可用部署 需要使用的前提: 当普通主从复制不能满足我们的需求,  主节点宕机  影响业务的不间断运行.这里就需要用到MHA 高可用 1. MHA高可用的介绍 ...

  6. java面向对象九个经典例子程序

    1 Hello world例子 1 package Example; //定义自己的包名 2 3 public class Example1 //定义一个类 4 { 5 public static v ...

  7. Docker部署OpenWRT-旁路由

    1.确认网卡名称 命令 ip addr 显示如下图的 enp2s0 就是我们准备进行链接的网卡名称. 2.打开网卡的混杂模式 sudo ip link set enp2s0 promisc on 3. ...

  8. 「SOL」E-Lite (Ural Championship 2013)

    为什么这数据能水到可以枚举角度 ac 啊 # 题面 给你 \(n\) 个平面向量 \((x_i,y_i)\),对于每个 \(k=1\sim n\),求「从给出的 \(n\) 个向量中不重复地选择 \( ...

  9. 多线程—ThreadLocal

    一.ThreadLocal的含义 线程的变量副本(就像命名一样),每个线程隔离. 二.ThreadLocal的结构 每个Thread都有自己的ThreadLocalMap,ThreadLocalMap ...

  10. dos命令初学

    DOS命令 打开DOS命令方式 开始+系统+命令提示符 WIN键盘+R 输入CMD 打开控制台(推荐使用) 在任意文件夹下面,按住shift键加鼠标右键点击,在此处打开命令行窗口 自愿管理器的地址栏前 ...