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

Heroku部署Flask版Telegram Bot出现Method Not Allowed报错如何解决

问题根因

你访问的https://git.heroku.com/serene-crag-92322.git是Heroku分配的Git代码仓库地址,仅用于代码推送、拉取操作,不支持普通浏览器的GET访问请求,访问时报Method Not Allowed属于正常现象,不是部署失败。
你代码中配置的https://gentle-temple-77151.herokuapp.com/拼接TOKEN的地址,才是Telegram机器人服务的对外可访问地址。另外你代码里/TOKEN路径仅开放了POST方法,本身就是给Telegram官方服务器推送消息更新用的,用浏览器直接GET访问这个路径同样会返回Method Not Allowed,不属于代码错误。

修复&验证步骤
  • 修正启动代码适配Heroku环境:你当前的启动逻辑没有绑定Heroku动态分配的端口,会导致服务启动后无法被外部访问,把入口代码替换为以下内容:
if __name__ == "__main__":
    import os
    app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))
  • 检查项目根目录的Procfile配置:文件不能有后缀名,内容必须指定web启动命令,示例如下(把app.py替换成你实际的Flask启动文件名):
web: python app.py
  • 重新执行git push heroku master完成部署后,用浏览器访问应用根地址https://gentle-temple-77151.herokuapp.com/,这个路由默认支持GET方法,访问后会自动移除旧webhook、绑定新的webhook地址,页面返回!就代表绑定流程执行成功。
  • 功能验证:给你的Telegram机器人发送测试消息,能收到正常回复就代表部署完成,不需要手动访问/TOKEN路径。
报错截图参考

Heroku报错提示

内容的提问来源于stack exchange,提问作者Ali Morakabian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:30:45