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

Python Flask中第二个RSS获取函数无法工作是什么原因

问题排查

你的第二个函数无法工作,核心问题如下:

  • 没有给get_feeds_ol()添加路由装饰器:Flask只会识别被@app.route()装饰的函数作为Web接口,当前第二个函数只是普通的内部函数,无法响应HTTP请求。
  • 缺少feedparser库的导入语句:你代码里调用了feedparser.parse()但顶部没有写导入逻辑,第一个函数能运行属于临时环境的偶然情况,正规代码必须显式导入依赖。
  • CORS配置键名书写错误:app.config['CORS HEADERS'] 中间误用了空格,正确配置键应为CORS_HEADERS(中间是下划线)。
  • 补充:第二个RSS源使用HTTP协议,部分网络环境下可能存在跳转、访问超时问题,建议加基础的异常判断,避免源站异常时服务直接报500错误。
修复后代码
# 补全缺失的依赖导入
import feedparser
from flask import Flask, jsonify
from flask_cors import CORS, cross_origin

app = Flask(__name__)
CORS(app, resources={r"/api/*": {"origins": "*"}})
# 修正CORS配置的键名,空格改为下划线
app.config['CORS_HEADERS'] = 'Content-Type' 

URLS = [
    'https://status.ui.com/history.rss',
    'http://status.us.onelogin.com/pages/538511e2ce5cb97537000144/rss'
]


@app.route("/feed/ui", methods=['POST','GET'])
@cross_origin()
def get_feeds_ui():
    try:
        feed = feedparser.parse(URLS[0])
        # 加非空判断,避免entries为空时索引报错
        if not feed.entries:
            return jsonify(code=500, msg="RSS源获取失败")
        first_article = feed['entries'][0]
        return jsonify(
            title=first_article.title,
            link=first_article.link, 
            updated=first_article.updated
        )
    except Exception as e:
        return jsonify(code=500, msg=str(e))

# 给第二个函数绑定独立路由
@app.route("/feed/ol", methods=['POST','GET'])
@cross_origin()
def get_feeds_ol():
    try:
        feed = feedparser.parse(URLS[1])
        if not feed.entries:
            return jsonify(code=500, msg="RSS源获取失败")
        first_article = feed['entries'][0]
        return jsonify(
            title=first_article.title,
            link=first_article.link,
            updated=first_article.updated
        )
    except Exception as e:
        return jsonify(code=500, msg=str(e))
  
if __name__ == '__main__':
    app.run(debug=True)
使用说明
  • 运行代码前先确认安装了所有依赖:执行命令pip install flask flask-cors feedparser
  • 第一个UI的RSS接口访问地址为http://127.0.0.1:5000/feed/ui
  • 第二个OneLogin的RSS接口访问地址为http://127.0.0.1:5000/feed/ol

内容的提问来源于stack exchange,提问作者Carolina D Vallecillo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 01:06:25