Files
Nexus/scripts/_browse_test.py
2026-07-08 22:31:31 +08:00

38 lines
1.4 KiB
Python

import json, urllib.request, sys
base = 'https://api.synaglobal.vip'
req = urllib.request.Request(
base + '/api/auth/login',
data=json.dumps({'username': 'admin', 'password': 'Nexus@2026'}).encode(),
method='POST',
headers={'Content-Type': 'application/json'},
)
tok = json.loads(urllib.request.urlopen(req).read())['access_token']
h = {'Authorization': 'Bearer ' + tok, 'Content-Type': 'application/json'}
# get all servers
srv_data = json.loads(urllib.request.urlopen(
urllib.request.Request(base + '/api/servers/?per_page=50', headers=h)
).read())
servers = srv_data.get('items', [])
print(f'Total servers: {len(servers)}')
for s in servers:
print(f" id={s['id']} name={s.get('name','')} user={s.get('username','')} target={s.get('target_path','')} domain={s.get('domain','')}")
print()
# browse server 8 several paths
for path in ['/', '/www', '/www/wwwroot', '/tmp']:
b = json.dumps({'server_id': 8, 'path': path}).encode()
try:
d = json.loads(urllib.request.urlopen(
urllib.request.Request(base + '/api/sync/browse', data=b, method='POST', headers=h),
timeout=20
).read())
n = len(d.get('items', []))
err = (d.get('error') or '')[:120]
print(f"server8 {path}: items={n} error={repr(err)}")
if n > 0:
for it in d['items'][:6]:
print(f" {it['type']:9} {it['name']}")
except Exception as e:
print(f"server8 {path}: EXCEPTION {e}")