技术实践

2026-09-17 Typecho API 自动化发文实战指南

在构建自动化内容发布系统或连接外部写作工具时,使用 CMS 提供的标准 API 接口是最稳定、最优雅的接入方式。

本文将详细介绍如何利用 Typecho 原生内置的 MetaWeblog (XML-RPC) 协议,实现无插件、纯代码方式的远程自动化发文。


一、Typecho XML-RPC 接口核心优势

  1. 零第三方插件依赖:Typecho 核心原生支持标准 MetaWeblog 与 WordPress 兼容协议,开箱即用。
  2. 逻辑内核闭环:通过 API 发文时,Typecho 会自动完成文章入库、分类关联绑定、标签提取、URL Slug 生成及缓存更新,无需手动维护底层多张数据表。
  3. 语言无关与多端支持:任何支持 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 方案测试教程生成。
题跋

静候知音

此卷题跋已封。