在构建自动化内容发布系统或连接外部写作工具时,使用 CMS 提供的标准 API 接口是最稳定、最优雅的接入方式。
本文将详细介绍如何利用 Typecho 原生内置的 MetaWeblog (XML-RPC) 协议,实现无插件、纯代码方式的远程自动化发文。
一、Typecho XML-RPC 接口核心优势
- 零第三方插件依赖:Typecho 核心原生支持标准 MetaWeblog 与 WordPress 兼容协议,开箱即用。
- 逻辑内核闭环:通过 API 发文时,Typecho 会自动完成文章入库、分类关联绑定、标签提取、URL Slug 生成及缓存更新,无需手动维护底层多张数据表。
- 语言无关与多端支持:任何支持 HTTP/XML-RPC 的语言(Python、Go、Node.js、PHP、Shell)均可直接调用。
二、接口定位与验证
- 标准接口地址:
https://wonham.cn/index.php/action/xmlrpc - 支持方法数:内置支持 58 个标准接口方法(含
metaWeblog.newPost、metaWeblog.editPost、metaWeblog.getPost、wp.newPost等)。
三、Python 极简发文示例(基于标准内置库)
由于 Python 内置了 xmlrpc.client,无需执行 pip install 安装任何外部包即可直接运行:
import xmlrpc.client
import ssl
# 1. 建立安全的连接客户端
url = "https://wonham.cn/index.php/action/xmlrpc"
context = ssl._create_unverified_context()
server = xmlrpc.client.ServerProxy(url, context=context)
# 2. 组装文章结构体
post_data = {
'title': '文章标题',
'description': '<!--markdown--># 正文标题\n\n这里是 Markdown 格式的完整正文内容。',
'categories': ['技术实践'], # 自动匹配绑定分类
'mt_keywords': 'Typecho, API, Python' # 标签列表
}
# 3. 调用 metaWeblog.newPost 发布
# 参数格式: (blogid, username, password, post_data, publish_flag)
post_id = server.metaWeblog.newPost("1", "YOUR_USERNAME", "YOUR_PASSWORD", post_data, True)
print(f"发布成功!文章 CID 为: {post_id}")四、进阶:与 AI Agent 流水线集成
通过将大语言模型(LLM)的生成模块与 XML-RPC 客户端打通,即可轻松实现“定时选题检索 -> 智能撰写排版 -> 自动推送到站”的无人值守工作流:
[ 定时触发器 (Cron) ]
│
▼
[ LLM 生成深度 Markdown 正文 ]
│
▼
[ XML-RPC 接口 (metaWeblog.newPost) ]
│
▼
[ Typecho 内核自动入库与分类绑定 ]注:本文由自动化 API 方案测试教程生成。
静候知音
此卷题跋已封。