This commit is contained in:
yumoqing 2025-02-22 18:17:43 +08:00
parent fcb13002d6
commit 8b45597c84

View File

@ -1,5 +1,6 @@
import asyncio import asyncio
import aiohttp import aiohttp
from myTE import MyTemplateEngine
import re import re
from appPublic.log import info, debug, warning, error, exception, critical from appPublic.log import info, debug, warning, error, exception, critical
@ -106,6 +107,34 @@ class HttpClient:
return self.request(url, 'POST', **kw) return self.request(url, 'POST', **kw)
session = self.getsession(url) session = self.getsession(url)
class JsonHttpAPI:
def __init__(self):
this.te = MyTemplateEngine()
this.hc = HttpClient()
async def call(self, url, method='GET', ns={},
headerstmpl=None,
paramstmpl=None,
datatmpl=None,
resptmpl=None):
headers = None
if headerstmpl:
headers = json.loads(self.te.renders(headerstmpl, ns))
params = None
if paramstmpl:
params = json.loads(self.te.renders(paramstmpl, ns))
data = None
if datatmpl:
datas = json.loads(self.te.renders(datatmpl, ns))
resp = await self.hc.request(url, method=method, headers=headers,
response_type=RESPONSE_JSON,
params=params,
data=data)
ret = resp
if resptmpl:
ret = self.te.renders(resptmpl, resp)
return ret
if __name__ == '__main__': if __name__ == '__main__':
async def gbaidu(hc): async def gbaidu(hc):
r = await hc.get('https://www.baidu.com') r = await hc.get('https://www.baidu.com')