|
18鱼币
我get出来的SBTS_scf都是一个名字,怎么可以把这个SBTS——scf名字前面添加特殊字符区分开,否则出来的名字都是SBTS_SCF,后面的都把前面的覆盖了
例如:
每一个SBTS_SCF名字之前都顺序加上,10.42.88.1这个名字,然后下一个名字是10.42.88.2这个名字。以此类推,不论hosts后面的IP地址有上千个,也可以批量一条条的顺序执行循环。
["GET", ["/rom/config/SBTS_SCF.xml", "SBTS_SCF.xml"]],
["FIX_SCF", ["SBTS_SCF.xml", "FIXED_SBTS_SCF.xml"]],
],
"hosts": [
["10.42.88.1", "SSHUSER", "SSHPASS", "WEBUIUSER", "WEBUIPASS"],
["10.42.88.2", "SSHUSER", "SSHPASS", "WEBUIUSER", "WEBUIPASS"]
]
我把主要的两个程序文件放在附件的压缩文件里面了,分别是:
config.json和主程序scf_recovery.py 2个文件。
用的是python 2.7的,在windows系统下打开CMD,然后把scf_recovery.py拖进去执行python scf_recovery.py config.json。
本帖最后由 SixPy 于 2016-12-8 11:21 编辑
python3
- >>> import json
- >>> from urllib.request import urlopen
- >>> from itertools import product
- >>> json_data ='''{
- "task":[
- ["GET", ["/rom/config/SBTS_SCF.xml", "SBTS_SCF.xml"]],
- ["FIX_SCF", ["SBTS_SCF.xml", "FIXED_SBTS_SCF.xml"]]
- ],
- "hosts": [
- ["10.42.88.1", "SSHUSER", "SSHPASS", "WEBUIUSER", "WEBUIPASS"],
- ["10.42.88.2", "SSHUSER", "SSHPASS", "WEBUIUSER", "WEBUIPASS"]
- ]
- }'''
- >>> j = json.loads(json_data)
- >>> for t,h in product(j['task'],j['hosts']):
- mathod,URI = t[0],t[1][0]
- ip,*_ = h
- URL = 'http://' + ip + URI
- if mathod == 'GET':
- rsp = urlopen(URL)
- print(len(rsp.read()))
复制代码
|
|