import json,urllib.request as u,urllib.error
B="http://127.0.0.1:8000"
t=json.loads(u.urlopen(u.Request(B+"/api/admin/v1/auth/login",data=json.dumps({"username":"admin","password":"f3551407"}).encode(),headers={"Content-Type":"application/json"},method="POST"),timeout=20).read())["data"]["tokens"]["accessToken"]
h={"Authorization":"Bearer "+t,"Content-Type":"application/json"}
d=json.loads(u.urlopen(u.Request(B+"/api/admin/v1/egress-nodes?page=1&pageSize=1",headers=h),timeout=20).read())["data"]
print("total",d.get("total"))
for nid in ("560","610","659"):
 r=u.Request(B+"/api/admin/v1/egress-nodes/%s/test"%nid,data=b"{}",headers=h,method="POST")
 try:
  out=json.loads(u.urlopen(r,timeout=90).read()); x=out.get("data") or out
  print(nid, x.get("name"), x.get("probeStatus"), x.get("exitIp"), (x.get("ipv6Probe") or {}).get("status"), (x.get("ipv6Probe") or {}).get("exitIp"))
 except urllib.error.HTTPError as e:
  print(nid,"HTTP",e.code,e.read()[:300])
 except Exception as e:
  print(nid,"ERR",e)
