我需要的是以框格将输出数据
时间: 2024-02-29 18:51:11 浏览: 22
好的,你可以使用 Python 标准库中的 textwrap 和 tabulate 模块将输出数据以框格的形式呈现。这样输出的数据可以更加美观,方便查看和阅读。
下面是一个示例代码,可以将每个URL的检测结果以框格形式输出:
```
import requests
import textwrap
from tabulate import tabulate
def verify(url):
payload = '/actuator/env'
try:
res = requests.get(url+payload, timeout=5)
except requests.exceptions.Timeout:
res = None
print(url+" 请求超时!")
if res is not None and 'activeProfiles' in res.text:
return '存在信息泄露漏洞'
else:
return '不存在'
if __name__ == '__main__':
urls = []
results = []
with open('poc.txt','r') as f:
for line2 in f:
urls.append(line2.strip())
results.append(verify(url=line2.strip()))
data = []
for i in range(len(urls)):
url = urls[i]
result = results[i]
data.append((url, textwrap.fill(result, 15)))
output = tabulate(data, headers=['URL', '漏洞情况'], tablefmt='fancy_grid')
print(output)
```
在这个代码中,我们首先使用 textwrap 模块将漏洞情况的文本进行分行,以便输出时不会出现太长的行。接着,我们使用 tabulate 模块将数据以框格的形式输出。注意,这里我们使用了 fancy_grid 表格风格,可以根据需要修改成其他风格。