Если вы получаете status_code 200
, вы знаете, что у вас есть действительный адрес.
В отношении HTTPS://
. Вы получите ошибку SSL, если вы не Следуйте ответам в этом руководстве . Как только вы это сделаете, программа найдет правильный URL для вас.
import requests
import traceback
validProtocols = ["https://www.", "http://www.", "https://", "http://"]
def removeAnyProtocol(url):
url = url.replace("www.","") # to remove any inputs containing just www since we aren't planning on using them regardless.
for protocol in validProtocols:
url = url.replace(protocol, "")
return url
def validateUrl(url):
for protocol in validProtocols:
if(protocol not in url):
pUrl = protocol + removeAnyProtocol(url)
try:
req = requests.head(pUrl, allow_redirects=True)
if req.status_code == 200:
return pUrl
else:
continue
except Exception:
print(traceback.format_exc())
continue
else:
try:
req = requests.head(url, allow_redirects=True)
if req.status_code == 200:
return url
except Exception:
print(traceback.format_exc())
continue
Использование:
correctUrl = validateUrl("google.com") # https://www.google.com