Exemplo n.º 1
0
    def _download_openphish(self, path_in, user_agent, url_feed, username, password):
        logging.debug("Downloading OpenPhish feeds...")
        try:
            password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
            password_manager.add_password(None, url_feed, username, password)

            auth = urllib2.HTTPBasicAuthHandler(password_manager)
            opener = urllib2.build_opener(auth)
            opener.addheaders = [('User-agent', user_agent)]
            urllib2.install_opener(opener)

            request = urllib2.Request(url_feed)
            handler = urllib2.urlopen(request)

            count = 0
            json_str = ''
            for d in handler.readlines():
                if count == 0:
                    json_str = '{'
                json_str += '\"phish_' + str(count) + "\" : " + d.strip() + ', \n'
                count = count + 1
            json_str = json_str[:-3] + '}'
            json_obj = json.loads(json_str)
            json_obj = Utils.decode_dict(json_obj)

            with open(os.path.join(path_in, 'openphish.txt'), 'w') as f:
                json.dump(json_obj, f, ensure_ascii=False)
        except Exception, e:
            logging.error("Error downloading OpenPhish feed '%s': %s" % (url_feed, e))
            raise Exception