# -*- coding: utf-8 -*- import urllib.request as u import urllib.error import json API = 'http://localhost:8080' USER_ID = '739564171091247104' def call(method, path, token=None, jbody=None, form=None): data = None headers = {} if token: headers['Authorization'] = 'Bearer ' + token if jbody is not None: data = json.dumps(jbody, ensure_ascii=False).encode('utf-8') headers['Content-Type'] = 'application/json; charset=utf-8' if form is not None: data = '&'.join(f'{k}={v}' for k, v in form.items()).encode('utf-8') headers['Content-Type'] = 'application/x-www-form-urlencoded' req = u.Request(API + path, data=data, headers=headers, method=method) try: with u.urlopen(req, timeout=15) as r: return r.status, json.loads(r.read().decode('utf-8')) except urllib.error.HTTPError as e: body = e.read().decode('utf-8', 'replace') return e.code, body if __name__ == '__main__': _, tok_res = call('GET', f'/api/auth/debug/token?userId={USER_ID}') tok = tok_res['data'] print('TOKEN len', len(tok)) st, res = call('POST', '/api/opportunity', tok, jbody={ 'oppSource': 'opp_source_02', 'opportunityName': 'E2E冒烟商机', 'partyA': '某甲方公司', 'customerName': '意向客户A', 'remark': 'python 创建的端到端测试商机', }) print('CREATE', st, res) st, res = call('POST', '/api/opportunity/page', tok, form={ 'viewType': 'MINE', 'current': '1', 'size': '20'}) print('PAGE', st) print(json.dumps(res, ensure_ascii=False, indent=2)[:1200])