#!/usr/bin/env python3
"""Coba beberapa cara mengirim kunci Semrush (kunci tidak dicetak)."""
import json, urllib.error, urllib.parse, urllib.request

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
KEY = json.load(open(f"{WS}/.semrush_tsc_token.json"))["token"]
UA = {"User-Agent": "Mozilla/5.0"}

BASIS = [
    ("klasik", "https://api.semrush.com/", {"type": "phrase_this", "phrase": "dokter kulit", "database": "id"}),
    ("v1", "https://api.semrush.com/analytics/v1/", {"type": "phrase_this", "phrase": "dokter kulit", "database": "id"}),
    ("ta v3", "https://api.semrush.com/analytics/ta/api/v3/phrase_this",
     {"phrase": "dokter kulit", "database": "id"}),
]

CARA = [
    ("?key=", lambda u, p: (u + "?" + urllib.parse.urlencode({**p, "key": KEY}), {})),
    ("header Apikey", lambda u, p: (u + "?" + urllib.parse.urlencode(p), {"Apikey": KEY})),
    ("header Authorization", lambda u, p: (u + "?" + urllib.parse.urlencode(p), {"Authorization": KEY})),
    ("header Bearer", lambda u, p: (u + "?" + urllib.parse.urlencode(p), {"Authorization": "Bearer " + KEY})),
]

for bnama, dasar, param in BASIS:
    for cnama, bikin in CARA:
        url, kepala = bikin(dasar, param)
        try:
            with urllib.request.urlopen(urllib.request.Request(url, headers={**UA, **kepala}), timeout=45) as x:
                t = x.read().decode("utf-8", "replace").strip()
            print(f"✅ {bnama:<8} {cnama:<22} HTTP {x.status} · {t.splitlines()[0][:80] if t else '(kosong)'}")
        except urllib.error.HTTPError as e:
            print(f"❌ {bnama:<8} {cnama:<22} HTTP {e.code} · {e.read().decode('utf-8','replace').strip()[:80]}")
        except Exception as e:
            print(f"❌ {bnama:<8} {cnama:<22} {str(e)[:60]}")
