You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Aiogram 3.1.1(Python)中配置代理以访问Telegram API

Aiogram 3.1.1配置代理访问Telegram API解决方案

由于网络限制无法访问Telegram API,只需给Bot实例配置代理即可解决问题,以下是两种可行的配置方式:

方式一:代码中直接配置代理

修改Bot初始化逻辑,通过AiohttpSession传入代理信息,支持HTTP和SOCKS5类型的代理:

import asyncio
from aiogram import Dispatcher, Bot
from aiogram.filters import CommandStart
from aiogram.types import Message
from aiogram.client.session.aiohttp import AiohttpSession

# 替换为你的代理地址,格式:协议://[用户名:密码@]代理地址:端口
# SOCKS5示例:socks5://user:pass@127.0.0.1:1080
# HTTP示例:http://user:pass@127.0.0.1:8080
proxy_url = "socks5://your-proxy-address:port"

token = 'tokentokentokentokentokentokentoken'

# 创建带代理的会话
session = AiohttpSession(proxy=proxy_url)
# 初始化Bot时传入该会话
the_bot = Bot(token, session=session)
main_handler = Dispatcher()

@main_handler.message(CommandStart())
async def cmd_start(msg: Message) -> None:
    await msg.answer('hi')

async def main():
    await main_handler.start_polling(the_bot)

if __name__ == '__main__':
    asyncio.run(main())

方式二:通过环境变量配置代理

如果不想在代码里硬编码代理信息,可以通过系统环境变量设置,Aiogram会自动读取:

Linux/macOS终端执行:

export HTTPS_PROXY="socks5://your-proxy-address:port"
export HTTP_PROXY="socks5://your-proxy-address:port"

Windows命令提示符执行:

set HTTPS_PROXY=socks5://your-proxy-address:port
set HTTP_PROXY=socks5://your-proxy-address:port

设置完成后,直接运行你原来的代码即可,无需修改代码逻辑。

注意事项

  • 确保代理服务正常运行,并且能够访问api.telegram.org
  • 若代理需要身份验证,在代理URL中加入用户名和密码,例如:socks5://username:password@host:port
  • Aiogram 3.x版本推荐使用AiohttpSession来配置代理,这是官方推荐的会话实现

内容的提问来源于stack exchange,提问作者Alexander Shushakov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:57:46