RSSOS 通用RSS生成器

完整的API使用指南和示例代码

📋 API 概览

RSSOS API 允许您将任何网站转换为RSS订阅源。API 采用RESTful设计,支持JSON和XML响应格式。

基础信息

  • Base URL: https://rssos.vercel.app/api
  • 协议: HTTPS
  • 响应格式: RSS XML, JSON
  • 编码: UTF-8

支持的网站类型

📰 博客
WordPress, Blogger, Medium
🎨 作品集
设计师网站, Figma项目
📈 新闻
新闻网站, 媒体平台
💻 代码
GitHub, GitLab

🔐 认证

目前API是公开的,无需认证。未来版本可能会引入API密钥认证。

注意: 请合理使用API,避免频繁请求同一网站。我们有智能缓存机制来提高性能。

📡 生成RSS

GET /api/generate

将指定的网站URL转换为RSS订阅源。

请求示例

GET /api/generate?url=https://example.com&refresh=0 Host: rssos.vercel.app Accept: application/rss+xml

cURL 示例

curl -X GET "https://rssos.vercel.app/api/generate?url=https://jasonspielman.com" \ -H "Accept: application/rss+xml"

JavaScript 示例

// 使用 fetch API const response = await fetch('https://rssos.vercel.app/api/generate?url=https://example.com'); const rssXml = await response.text(); // 使用 axios const response = await axios.get('https://rssos.vercel.app/api/generate', { params: { url: 'https://example.com' }, headers: { Accept: 'application/rss+xml' } });

Python 示例

import requests response = requests.get('https://rssos.vercel.app/api/generate', { 'params': {'url': 'https://example.com'}, 'headers': {'Accept': 'application/rss+xml'} }) rss_content = response.text

📝 参数说明

参数 类型 必需 说明 示例
url String 必需 要生成RSS的网站URL https://example.com
refresh Boolean 可选 是否强制刷新缓存 (0或1) 1

URL参数要求

  • 必须是有效的HTTP或HTTPS URL
  • URL必须可以公开访问
  • 建议使用URL编码处理特殊字符

📋 响应格式

成功响应

200 OK

响应头

Content-Type: application/rss+xml; charset=utf-8 Cache-Control: public, max-age=1800 X-Cache: MISS X-Site-Type: blog/wordpress X-Articles-Found: 15

响应体 (RSS XML)

<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <title><![CDATA[Website Title - Blog Posts]]></title> <link>https://example.com</link> <description><![CDATA[Latest posts from example.com]]></description> <language>en-us</language> <lastBuildDate>Thu, 25 Sep 2025 20:00:00 GMT</lastBuildDate> <item> <title><![CDATA[Article Title]]></title> <link>https://example.com/article</link> <description><![CDATA[Article summary...]]></description> <pubDate>Wed, 24 Sep 2025 15:30:00 GMT</pubDate> <guid>https://example.com/article</guid> </item> </channel> </rss>

响应头说明

响应头 说明 示例值
X-Site-Type 检测到的网站类型 blog/wordpress
X-Articles-Found 找到的文章数量 15
X-Cache 缓存状态 HIT / MISS

❌ 错误处理

错误响应格式

400 Bad Request

{ "error": "Missing URL parameter", "usage": "GET /api/generate?url=https://example.com" }

500 Internal Server Error

<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title><![CDATA[Error - RSS Generation Failed]]></title> <description><![CDATA[Failed to generate RSS for the provided URL]]></description> </channel> </rss>

常见错误代码

状态码 错误类型 说明 解决方案
400 参数错误 缺少或无效的URL参数 检查URL参数格式
404 网站不存在 目标网站无法访问 验证URL是否正确
500 服务器错误 解析网站时发生错误 稍后重试或联系支持

⚡ 频率限制

当前限制 (可能会调整)

  • 每分钟: 60 请求
  • 每小时: 1000 请求
  • 每天: 10000 请求

缓存策略

为了提高性能并减少重复请求,我们实施了多层缓存策略:

  • RSS内容: 缓存30分钟
  • 网站信息: 缓存1小时
  • HTML内容: 缓存15分钟
  • 错误状态: 缓存1小时

🛠️ SDK 和库

JavaScript/Node.js

// NPM 包 (计划中) npm install rssos-client // 使用示例 import RSSClient from 'rssos-client'; const client = new RSSClient(); const rss = await client.generate('https://example.com');

Python

# pip 包 (计划中) pip install rssos-python # 使用示例 from rssos import RSSClient client = RSSClient() rss = client.generate('https://example.com')

cURL 包装器

#!/bin/bash # rssos.sh - Simple shell wrapper URL=$1 REFRESH=${2:-0} curl -s "https://rssos.vercel.app/api/generate?url=${URL}&refresh=${REFRESH}" \ -H "Accept: application/rss+xml"
🏠 返回主页 📱 GitHub 项目