Files
kefu/deploy/knowledge-v4-review/probe_lan.py
T
2026-09-21 10:34:06 +08:00

22 lines
1.1 KiB
Python

from pathlib import Path
import http.client, hashlib, json
release = Path('C:/kefu/deploy/knowledge-v4-review-20260916')
manifest = json.loads((release/'manifest.json').read_text(encoding='utf-8'))
asset = next(row for row in manifest if '/dist/js/center-' in row['path'] and row['path'].endswith('.js'))
asset_path = '/' + asset['path'].split('/dist/',1)[1]
checks = [('/',200),('/api/health',200),('/api/knowledge/review-tasks',401),(asset_path,200)]
statuses = {}
for path, expected in checks:
connection = http.client.HTTPConnection('192.168.110.111',8369,timeout=20,source_address=('192.168.123.43',0))
try:
connection.request('GET',path)
response=connection.getresponse();data=response.read()
assert response.status==expected,(path,response.status)
if path==asset_path:
assert hashlib.sha256(data).hexdigest()==asset['sha256']
statuses[path]=response.status
finally:
connection.close()
(release/'lan-verification.json').write_text(json.dumps(statuses,indent=2),encoding='utf-8')
print(json.dumps(statuses))