0

Shodan APIを検索し、ID、CVE、および説明を返すPythonスクリプトを作成しようとしています。一部の検索結果(たとえば「java」)に確立されたCVE(またはCVEキー)がないため、スクリプトがチョークします。検索をtry/exceptエラー処理でラップする必要があることは承知していますが、Webの調査で見つけたものには運がありませんでした。これが私が得るエラーであり、その下にコードがあります。よろしくお願いします。

- - - - エラー - - - -

    print '%s: %s: %s' % (exploit['id'], exploit['cve'], exploit['description'])
KeyError: 'cve

--------私のコード------

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'])
4

1 に答える 1

0

dict.getキーが存在しない場合に返されるデフォルト値を使用して提供したいようです。

print '%s: %s: %s' % (exploit.get('id', '[blank]'), exploit.get('cve', '[blank]'), exploit.get('description', '[blank]'))
于 2013-03-07T17:25:48.203 に答える