#!/usr/bin/env python3
"""check-host.net RAW untuk URL tertentu (tunggu sampai 90 s) — membedakan 404 vs timeout."""
import json, sys, time, urllib.parse, urllib.request

UA = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) Chrome/124 Safari/537.36", "Accept": "application/json"}


def get(url, timeout=90):
    req = urllib.request.Request(url, headers=UA)
    with urllib.request.urlopen(req, timeout=timeout) as r:
        return json.loads(r.read().decode("utf-8", "replace"))


for u in sys.argv[1:]:
    q = "https://check-host.net/check-http?host=%s&max_nodes=3" % urllib.parse.quote(u, safe="")
    d = get(q)
    rid = d.get("request_id")
    print("==", u, "req:", rid)
    if not rid:
        print("   ", json.dumps(d)[:200])
        continue
    for i in range(6):
        time.sleep(15)
        res = get("https://check-host.net/check-result/%s" % rid)
        filled = {k: v for k, v in res.items() if v}
        print("   t+%ds: %s" % ((i + 1) * 15, json.dumps(filled)[:400]))
        if len(filled) >= 3:
            break
