24 lines
871 B
Python
24 lines
871 B
Python
import aiohttp
|
||
import asyncio
|
||
import ssl
|
||
|
||
async def async_post(url, headers=None, data=None, timeout=1.5, verify=False):
|
||
# 安全警告:verify=False 会跳过 SSL 验证,仅用于测试环境!
|
||
ssl_context = None
|
||
if not verify:
|
||
ssl_context = ssl.create_default_context()
|
||
ssl_context.check_hostname = False
|
||
ssl_context.verify_mode = ssl.CERT_NONE
|
||
|
||
# 创建 connector 替代直接使用 ssl 参数
|
||
connector = aiohttp.TCPConnector(ssl=ssl_context)
|
||
|
||
async with aiohttp.ClientSession(connector=connector) as session:
|
||
async with session.post(url, headers=headers, data=data, timeout=timeout) as response:
|
||
content = await response.text()
|
||
return {
|
||
"status_code": response.status,
|
||
"headers": dict(response.headers),
|
||
"content": content
|
||
}
|