首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索Shodan API时的错误处理

搜索Shodan API时的错误处理
EN

Stack Overflow用户
提问于 2013-03-08 01:00:06
回答 1查看 867关注 0票数 0

我正在尝试编写一个Python脚本,它将搜索Shodan API并返回ID、CVE和描述。由于我的一些搜索结果(例如‘java’)没有已建立的CVE (或CVE键),因此我的脚本会卡住。我知道我需要在try/except错误处理中封装搜索,但我在搜索web时没有找到任何幸运的东西。这是我得到的错误,下面是代码。非常提前谢谢你。

-错误

代码语言:javascript
复制
    print '%s: %s: %s' % (exploit['id'], exploit['cve'], exploit['description'])
KeyError: 'cve

-我的代码

代码语言:javascript
复制
from shodan import WebAPI
api = WebAPI("my shodan key")

user_selection = raw_input("Enter something: ")
print "searching for", (user_selection),"....."

results = api.exploitdb.search(user_selection)

for exploit in results['matches']:
    print '%s: %s: %s' % (exploit['id'], exploit['cve'], exploit['description'])
EN

回答 1

Stack Overflow用户

发布于 2013-03-08 01:25:48

看起来您想要使用dict.get,并为其提供一个默认值,以便在键不存在的情况下返回:

代码语言:javascript
复制
print '%s: %s: %s' % (exploit.get('id', '[blank]'), exploit.get('cve', '[blank]'), exploit.get('description', '[blank]'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15277215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档