feat: add helper scripts for infrastructure management and troubleshooting
This commit is contained in:
33
scripts/test_urls.py
Normal file
33
scripts/test_urls.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import urllib.request
|
||||
import ssl
|
||||
import sys
|
||||
|
||||
sys.stdout.reconfigure(encoding='utf-8')
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
|
||||
urls = [
|
||||
"https://pihole1.snarfnet.net",
|
||||
"https://pihole2.snarfnet.net",
|
||||
"https://dns1.snarfnet.net",
|
||||
"https://dns2.snarfnet.net"
|
||||
]
|
||||
|
||||
class NoRedirectHandler(urllib.request.HTTPRedirectHandler):
|
||||
def redirect_request(self, req, fp, code, msg, headers, newurl):
|
||||
return None
|
||||
|
||||
opener = urllib.request.build_opener(NoRedirectHandler)
|
||||
|
||||
for url in urls:
|
||||
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
|
||||
try:
|
||||
resp = opener.open(req, timeout=5)
|
||||
print(f"{url} -> {resp.status} {resp.reason}")
|
||||
except urllib.error.HTTPError as e:
|
||||
print(f"{url} -> {e.code} {e.reason} (Location: {e.headers.get('Location')})")
|
||||
except Exception as e:
|
||||
print(f"{url} -> Error: {e}")
|
||||
|
||||
Reference in New Issue
Block a user