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