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()
相关推荐
萧鼎1 小时前
告别 PR!用 Python + MoviePy 自动化剪辑视频
python·自动化·音视频
rabbit_pro1 小时前
Java 执行FFmpeg命令
java·开发语言·ffmpeg
棒棒的皮皮1 小时前
【OpenCV】Python图像处理之开发环境搭建
人工智能·python·opencv·计算机视觉
棒棒的皮皮1 小时前
【OpenCV】Python图像处理之图像预处理
图像处理·python·opencv
C.L.L1 小时前
C++ vscode调试——如何方便查看动态二维矩阵
开发语言·c++·矩阵
额呃呃1 小时前
Qt贪吃蛇
开发语言·qt
Tandy12356_1 小时前
中科大计算机网络——网络安全
c语言·python·计算机网络·安全·web安全
.小小陈.1 小时前
C++初阶4:STL简介
开发语言·c++·学习
白日做梦Q1 小时前
ICMP互联网控制报文协议的详细介绍(基本概念、用处、故障排查)
开发语言·网络·php