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()
相关推荐
VidDown2 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
死磕音视频4 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林4 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
pride.li6 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
databook6 小时前
用 Pydantic AI 从零搭建一个能干活的 AI Agent
人工智能·python
顽疲6 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
康小旺6 小时前
把 markitdown 做成 Windows 桌面版:拖进文档就出 Markdown,附 233MB→64MB 打包裁剪全过程
python
Wang's Blog6 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
启观川7 小时前
数据结构与算法-第 3 章 常用算法-贪心算法
数据结构·笔记·python·算法·贪心算法
南笙北梦7 小时前
本地开源大模型多轮对话显存泄漏排查与修复实录
python