📋 API 概览
RSSOS API 允许您将任何网站转换为RSS订阅源。API 采用RESTful设计,支持JSON和XML响应格式。
基础信息
- Base URL:
https://rssos.vercel.app/api - 协议: HTTPS
- 响应格式: RSS XML, JSON
- 编码: UTF-8
支持的网站类型
📰 博客
WordPress, Blogger, Medium
WordPress, Blogger, Medium
🎨 作品集
设计师网站, Figma项目
设计师网站, Figma项目
📈 新闻
新闻网站, 媒体平台
新闻网站, 媒体平台
💻 代码
GitHub, GitLab
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"