from pathlib import Path import http.client, hashlib, json release = Path('C:/kefu/deploy/knowledge-v5-search-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))