#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Uji transport ke WP REST situs klien: urllib + curl, ulang beberapa kali."""
import json, subprocess, sys, time, urllib.request

UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36"
SITES = {
    "studiosoft.id": "https://studiosoft.id",
    "www.tslaw.id": "https://www.tslaw.id",
    "www.theskincodeclinic.com": "https://www.theskincodeclinic.com",
    "dasindonesia.com": "https://dasindonesia.com",
}
PATH = "/wp-json/wp/v2/posts?per_page=2&_fields=date,link,title"

for name, base in SITES.items():
    url = base + PATH + f"&cb={int(time.time())}"
    # urllib
    t0 = time.time()
    try:
        req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept": "application/json"})
        with urllib.request.urlopen(req, timeout=25) as x:
            body = x.read().decode("utf-8", "replace")
        print(f"[urllib] {name}: OK {x.status} {len(body)}B {time.time()-t0:.1f}s :: {body[:120]!r}")
    except Exception as e:
        print(f"[urllib] {name}: GAGAL {type(e).__name__} {str(e)[:80]} {time.time()-t0:.1f}s")
    # curl -4
    t0 = time.time()
    p = subprocess.run(["curl", "-4", "-s", "-o", "/dev/null", "-w", "%{http_code} %{time_total}",
                        "--max-time", "20", "-A", UA, url], capture_output=True, text=True)
    print(f"[curl-4] {name}: {p.stdout} ({time.time()-t0:.1f}s)")
