1.提供方代码如下;# -*- coding: utf-8 -*-
import json
import subprocess
import sys
import requestsreload(sys)
sys.setdefaultencoding('utf-8')"""
查询cmdb 实例,应用,接口,读取应用,相关联的实例,和实例的ip 地址,开启多线程方式执行启动服务命令;
"""class Power_reqair(object):def CHJ_ansible_operation(self, app_name, app_ip):self.app_name = app_nameself.app_ap = app_ipcmd = """ansible -i {}, all -m shell -a 'su - work -c "/chj/app/{}/bin/console status"' -b -f 10""".format(app_ip.strip(), app_name.strip())p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,universal_newlines=True)result = p.communicate()with open('/tmp/Docker_test_new.txt', 'ab+') as f:f.write(result[0])def get_ins(self, id, run_type):list_ip = []url = 'http://xxx.xxx.xxx.xx/instance/select'data = {'app_id': id}src_data = requests.post(url, json=data)json_data = json.loads(src_data.text)for i in json_data["data"]:if i["run_type"] == run_type:list_ip.append(i["ip"])return list_ipdef ops_env(self, env_type, result):url = 'http://xxx.xxx.xxx.xx/application/select'src_data = requests.post(url)json_data = json.loads(src_data.text)for i in json_data["data"]:if i['app_type'] == "java" or i['app_type'] == "business":id = i['id']app_name = i['name']try:res = self.get_ins(id, env_type)if res:for app_ip in res:result.setdefault(app_name,app_ip)t = threading.Thread(target=self.CHJ_ansible_operation(app_name,app_ip))t.start()except Exception, e:print(e)print "none"2.程序调用方代码;
# -*- coding: utf-8 -*-
import os
import sys
import time
from flask import Flask, request, render_template, jsonify,Response
from flask_cors import CORS
from new_power_repaoir import Power_reqair@app.route('/service_pc', methods=['GET'])
def service_pc():power_reqair_instance = CHJ_Power_reqair()result = {}abc = power_reqair_instance.ops_env("test", result)return Response(json.dumps(result), mimetype='application/json')3.页面效果如下;

{

"hmi-msg-service": "192.168.47.40",

"msc-hmi": "192.168.47.40",

"chj-service-tp-api": "192.168.58.52",

"xx-service-ssp-vcs-app": "192.168.58.33",

"aisp-swagger-group": "192.168.58.47",

"xx-service-ddes-app": "192.168.58.32",

"xx-service-dkms-app": "192.168.58.21",

"xx-key-admin-web": "192.168.58.72",

"-sso-service": "192.168.47.55",

"xx-service-ota-app": "192.168.47.177",

"xx-service-as-mock-web": "192.168.58.82",

"api-gateway": "192.168.58.34",

"ampmind-data-api-server": "192.168.58.85",

}

转载于:https://blog.51cto.com/breaklinux/2170585

Python 读取接口数据 返回JSON相关推荐

  1. Python 获取接口数据,解析JSON,写入文件

    Python 获取接口数据,解析JSON,写入文件 用于练手的例子,从国家气象局接口上获取JSON数据,将它写入文件中,并解析JSON: 总的来说,在代码量上,python代码量要比java少很多.而 ...

  2. python读取表格数据_Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  3. python读取grib文件_Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

  4. python读取excelsheet-一文看懂用Python读取Excel数据

    原标题:一文看懂用Python读取Excel数据 导读:现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上). Python处理Excel文件主要 ...

  5. python读取grib2数据_python读取grib grib2气象数据

    GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式,主要用来表示数值天气预报的产品资料.现行的GRIB 码版本有GRIB1 和GRIB2 两种格式.由于小编只接触过GRIB1数据,所 ...

  6. 使用Python读取串口数据

    Python读取串口数据 使用Python读取串口数据 1.编程流程 2.应用serial库 3.编码设计 4.编程实现 使用Python读取串口数据 1.编程流程 串口数据流程为, 1.实例化串口连 ...

  7. 解决Python中TCP数据转为json后中文变为Ascii码的问题

    我们我们有时候会使用TCP直接传输JSON数据,这时候正确解析数据就很关键了,最近在使用Python解析TCP传输的JSON数据时就遇到了中文不能正常显示的问题. 原因分析 TCP接口数据转为json ...

  8. python怎么读取sav格式_利用Python读取外部数据文件

    利用Python读取外部数据文件 [color=rgb(0, 0, 0) !important]刘顺祥 [color=rgb(0, 0, 0) !important]摘要: 不论是数据分析,数据可视化 ...

  9. php接口返回错误码,laravel 错误处理,接口错误返回json代码

    Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户. 所有异常都由类App\Exceptions\Handler ...

最新文章

  1. MySQL 学习资料汇总
  2. 系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常...
  3. 在软件中常用的“撤销”操作,其本质是“栈”!
  4. 你方唱罢我登场,“全宇宙仅此一回”的小米手机青春版竞争策略分析
  5. log4j2.xml 的标签 loggers 中 root 的属性 level 指的是什么
  6. java RPC 初步了解
  7. jsonp原生js跨域拿新浪数据插件封装【可扩展】
  8. 全国计算机等级考试题库二级C操作题100套(第91套)
  9. MySQL 隐式转换 字符串和整型说明
  10. 前端学习(1995)vue之电商管理系统电商系统之添加页面的基本结构
  11. Linux用户配置文件(第二版)
  12. 基于MNIST数据集的最优参数的方法的比较
  13. 如何在Windows下安装zookeeper?
  14. 17APLab4:图标、菜单、加速键、消息框 python
  15. Oracle故障:Breaking the connection before proto/dty negotiation, error raised 3136
  16. springmvc工作原理和源码分析
  17. firewalls 查看防火墙状态_5条命令玩转Linux系统防火墙
  18. VB.net小技巧——ClickOnce应用程序版本号自动递增
  19. 计算机睡眠和休眠哪个更好,详解电脑睡眠和休眠的区别
  20. 情人节快乐(转)十五首最美爱情古诗词,伴你过一个温馨浪漫的情人节

热门文章

  1. mysql事务处理 begin_mysql 事务处理
  2. instagram api java_如何在没有用户交互的情况下获得instagram access_token(新api)?...
  3. python重复执行_python flask schedule重复运行 任务被重复执行问题 解决方案
  4. 北京交通大学计算机科学与技术研究生导师,熊轲_北京交通大学研究生导师信息...
  5. service数据保存_「数据架构」数据流程图与实例-客户服务系统
  6. 1080解析 芒果tv_国内主流视频平台解析下载观看
  7. 【 MATLAB 】DFT性质讨论(一)线性、循环反转、共轭与实序列的对称性的MATLAB实现
  8. Activiti工作流从入门到入土:工作流简介
  9. idea 端口被占用
  10. Hibernate基本原理(一)