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
|
import validators
|
||||||
from ipwhois import IPWhois
|
from ipwhois import IPWhois
|
||||||
from whois import whois
|
from whois import whois
|
||||||
|
import requests
|
||||||
|
|
||||||
# from constants import DOMAIN, EMAIL, IPV4, IPV6, URL
|
# from constants import DOMAIN, EMAIL, IPV4, IPV6, URL
|
||||||
from . import abuseipdb_api, virustotal_api
|
from . import abuseipdb_api, virustotal_api
|
||||||
@ -76,6 +77,7 @@ def sanitize(user_input):
|
|||||||
return sanitized
|
return sanitized
|
||||||
|
|
||||||
|
|
||||||
|
# FIX: This has already been done by the function 'extract'. Consolidate.
|
||||||
def determine(host):
|
def determine(host):
|
||||||
host_type = ""
|
host_type = ""
|
||||||
if validators.url(host):
|
if validators.url(host):
|
||||||
@ -93,17 +95,33 @@ def determine(host):
|
|||||||
return host_type
|
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):
|
def extract(user_input):
|
||||||
hosts = []
|
hosts = []
|
||||||
errors = []
|
errors = []
|
||||||
for item in user_input:
|
for item in user_input:
|
||||||
if validators.url(item):
|
if validators.url(item) and online(item):
|
||||||
hosts.append(item)
|
hosts.append(item)
|
||||||
elif validators.domain(item):
|
elif validators.domain(item) and online(item):
|
||||||
hosts.append(item)
|
hosts.append(item)
|
||||||
elif validators.ip_address.ipv4(item):
|
elif validators.ip_address.ipv4(item) and online(item):
|
||||||
hosts.append(item)
|
hosts.append(item)
|
||||||
elif validators.ip_address.ipv6(item):
|
elif validators.ip_address.ipv6(item) and online(item):
|
||||||
hosts.append(item)
|
hosts.append(item)
|
||||||
elif validators.email(item):
|
elif validators.email(item):
|
||||||
hosts.append(item)
|
hosts.append(item)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user