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 aiohttp
from myTE import MyTemplateEngine
import re
from appPublic.log import info, debug, warning, error, exception, critical
@ -106,6 +107,34 @@ class HttpClient:
return self.request(url, 'POST', **kw)
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__':
async def gbaidu(hc):
r = await hc.get('https://www.baidu.com')