Python 读取接口数据 返回JSON
2018-09-05 12:26
399 查看
1.提供方代码如下; # -*- coding: utf-8 -*- import json import subprocess import sys import requests reload(sys) sys.setdefaultencoding('utf-8') """ 查询cmdb 实例,应用,接口,读取应用,相关联的实例,和实例的ip 地址,开启多线程方式执行启动服务命令; """ class Power_reqair(object): def CHJ_ansible_operation(self, app_name, app_ip): self.app_name = app_name self.app_ap = app_ip cmd = """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_t 5b4 ype: list_ip.append(i["ip"]) return list_ip def 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)   4458 ; 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",
}
相关文章推荐
- java读取 其他服务接口 返回的json数据
- java读取其他服务接口返回的json数据示例代码
- cxf 与spring集成,发布restful接口,返回json数据
- Spring MVC 接口返回的json数据过滤空值
- python 接口测试response返回数据对比的方法
- Android解析相同接口返回不同格式json数据的方法
- JSON API免费接口 各种提供JSON格式数据返回服务网站的API接口
- Python定时返回网址状态码&&网页内容是否为json数据
- springMVC利用FastJson接口返回json数据相关配置
- PHP对接APP的接口类,可返回json数据,xml数据
- asp通过json调用webservice接口,并获取返回的xml数据及解析
- php从数据库读取数据,并以json格式返回数据的方法
- php写接口例子返回json和xml数据
- C# 请求Web Api 接口,返回的json数据直接反序列化为实体类
- 接口返回的 json数据中含有双引号 或其他非法字符的解决办法
- python和flask中返回JSON数据的方法
- python 接口返回的json字符串实例
- python 解接口返回的json字符串
- python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取
- java rest接口返回不完整的json数据