python轮子:适配requests.request的aiohttp异步请求

一、适配requests.request的aiohttp异步请求

python 复制代码
import aiohttp
from logaid import log
import ssl
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE

async def async_request(method, url, **kwargs) -> dict:
    ip = kwargs.get('proxies', {}).get('https', '')
    if ip:
        proxy = 'http://' + ip
        kwargs['proxy'] = proxy
    if kwargs.get('proxies'):
        del kwargs['proxies']

    for _ in range(3):
        try:
            async with aiohttp.ClientSession() as session:
                async with session.request(method, url, ssl=ssl_context, **kwargs) as resp:
                    if resp.status in [200]:
                        resp_json = await resp.json()
                        return resp_json
        except Exception as e:
            if _ == 2:
                log.error(e)
    return dict()
相关推荐
知南x几秒前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
忆~遂愿3 分钟前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Ro Jace29 分钟前
计算机专业基础教材
java·开发语言
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
青春不朽5121 小时前
Scrapy框架入门指南
python·scrapy
devmoon1 小时前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
时艰.1 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
忆~遂愿1 小时前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
沐知全栈开发1 小时前
API 类别 - 交互
开发语言