#!/usr/bin/env python3
"""Uji URL artikel lewat microlink (fetch nyata dari luar) — cetak statusCode/title/err."""
import json, sys, 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=120):
    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://api.microlink.io/?url=%s" % urllib.parse.quote(u, safe="")
    try:
        d = get(q)
        data = d.get("data") or {}
        print("%s\n   status=%s code=%s title=%r" % (u, d.get("status"), data.get("statusCode"), (data.get("title") or "")[:70]))
    except Exception as e:
        print("%s\n   ERR %s" % (u, str(e)[:150]))
