trying out ways to check for connectivity after validating urls and domains
This commit is contained in:
parent
eae6791ba2
commit
99e59d0cb9
@ -7,6 +7,7 @@ from checkdmarc.spf import check_spf
|
||||
import validators
|
||||
from ipwhois import IPWhois
|
||||
from whois import whois
|
||||
import requests
|
||||
|
||||
# from constants import DOMAIN, EMAIL, IPV4, IPV6, URL
|
||||
from . import abuseipdb_api, virustotal_api
|
||||
@ -76,6 +77,7 @@ def sanitize(user_input):
|
||||
return sanitized
|
||||
|
||||
|
||||
# FIX: This has already been done by the function 'extract'. Consolidate.
|
||||
def determine(host):
|
||||
host_type = ""
|
||||
if validators.url(host):
|
||||
@ -93,17 +95,33 @@ def determine(host):
|
||||
return host_type
|
||||
|
||||
|
||||
def online(host):
|
||||
if host.startswith("http://", "https://"):
|
||||
try:
|
||||
requests.get(host)
|
||||
return True
|
||||
except requests.exceptions.ConnectionError:
|
||||
return False
|
||||
else:
|
||||
host = "https://" + host
|
||||
try:
|
||||
requests.get(host)
|
||||
return True
|
||||
except requests.exceptions.ConnectionError:
|
||||
return False
|
||||
|
||||
|
||||
def extract(user_input):
|
||||
hosts = []
|
||||
errors = []
|
||||
for item in user_input:
|
||||
if validators.url(item):
|
||||
if validators.url(item) and online(item):
|
||||
hosts.append(item)
|
||||
elif validators.domain(item):
|
||||
elif validators.domain(item) and online(item):
|
||||
hosts.append(item)
|
||||
elif validators.ip_address.ipv4(item):
|
||||
elif validators.ip_address.ipv4(item) and online(item):
|
||||
hosts.append(item)
|
||||
elif validators.ip_address.ipv6(item):
|
||||
elif validators.ip_address.ipv6(item) and online(item):
|
||||
hosts.append(item)
|
||||
elif validators.email(item):
|
||||
hosts.append(item)
|
||||
|
Loading…
x
Reference in New Issue
Block a user