使用aiogram开发Telegram Web App时HTTPS被替换为HTTP问题求助
解决Telegram Web App链接自动转为HTTP的问题
检查域名SSL配置与白名单
- 确保域名配置了受信任机构颁发的有效SSL证书,自签名证书或过期证书会触发Telegram的安全降级,强制切换到HTTP。
- 在BotFather中通过
/setdomain命令将你的域名添加到Web App白名单(仅输入域名,无需http/https前缀),未在白名单内的域名可能被Telegram拦截并修改协议。
对URL参数进行编码处理
如果token参数包含空格、特殊字符等非URL安全内容,会导致链接解析异常,Telegram修正时可能错误切换协议。建议用URL编码处理参数值:from urllib.parse import quote token_api = create_token_api(id) encoded_token = quote(token_api) web_app_url = WebAppInfo(url=f"https://<link>?telebot=true&token={encoded_token}")升级aiogram到最新稳定版
旧版本aiogram可能存在WebAppInfo协议处理的bug,执行以下命令升级:pip install --upgrade aiogram逐步排查链接干扰因素
先测试不带参数的纯HTTPS域名(如https://your-domain.com),确认能正常显示HTTPS后,再逐个添加参数,定位具体是哪个参数或参数值引发的问题。
内容的提问来源于stack exchange,提问作者Andrey
相关产品推荐
相关产品推荐

