如何从控制台获取错误消息内容



当在Qualys API上运行脚本时,我有以下文本作为日志输出(到python控制台(,并希望从那里解析错误消息("错误!接收到4xx…"(中的内容。我使用的是qualysapi模块。根据我在模块中看到的情况,它创建了一个自己的记录器实例,不幸的是,打印的消息没有包含在模块引发的异常中。

有没有迹象表明这样的事情怎么可能发生?

i     | Loading new data into Qualys...
Error! Received a 4XX client error or 5XX server error response.
Content = 
<!DOCTYPE SIMPLE_RETURN SYSTEM "<....>">
<SIMPLE_RETURN>
<RESPONSE>
<DATETIME>2021-11-20T17:07:40Z</DATETIME>
<CODE>1905</CODE>
<TEXT>parameter IPs has invalid value: One or more IPs are not assigned to this user: 10.73.32.133, 10.73.32.139-10.73.32.171, </TEXT>
</RESPONSE>
</SIMPLE_RETURN>
i     | Adding missing IPs to subscription, then we try again...

您可以将stdoutstderr重定向到一个文件,然后处理该文件:

import sys
sys.stdout = open('file', 'w')
print('test')
sys.stdout.close()

在这里查看更多信息:将stdout重定向到Python中的文件?

最新更新