Source code for api_searcher.search_engines.shodan_engine.shodan_host_search

from .shodan_credentials import ShodanCredentialsError
from .shodan_connector import ShodanConnector


[docs]class ShodanHostSearchError(Exception): """ Zgłoszenie wyjąktu gdy nie można pobrac danych z serwisu https://shodan.io/". """
[docs] def __init__(self, message=None, errors=None): super().__init__(message) self.errors = errors
[docs]class ShodanHostSearch: """Klasa zwraca dane z serwisu https://shodan.io/" dla widoków Django"""
[docs] def __init__(self, user_credentials): self.user_credentials = user_credentials
[docs] def get_data(self, ip_address): """Zwraca dane w formie jsona dla widoku Django z seriwsu https://shodan.io/.""" try: shodan_credentials = self.user_credentials.shodan connector = ShodanConnector(shodan_credentials) response = connector.search_by_ip(ip_address) return response.to_json # TODO zmienić na serializatory except ShodanCredentialsError as ex: raise ShodanHostSearchError("Invalid settings for service https://censys.io/. " + str(ex))