首页 开发文档 文本差异对比

文本差异对比

文本差异对比工具。按行拆分两段文本后用最长公共子序列(LCS)算法对齐,逐行标注 same(未变)、add(新增)、del(删除),并给出新增/删除/未变行数统计与整体相似度百分比。适合配置比对、版本变更展示、内容审核等场景。单侧最多 500 行。

请求信息
请求地址 https://cx4.cn/openApi/dev/diff 复制
请求方式 GET / POST
接口标识 dev_diff
鉴权方式 必须
四种方式任选其一:Header「X-Api-Key」/ Header「Authorization: Bearer 你的key」/ URL 参数「?key=你的key」/ POST 参数「key」
请求参数
参数名 类型 必填 说明 示例
text1 string 是 原始文本(可用 old 作别名) a\nb\nc
text2 string 是 目标文本(可用 new 作别名) a\nx\nc
返回参数

下表字段位于返回结构的 data 内;外层 code / message 为全平台统一格式,不在此重复列出。

参数名 类型 说明 示例
ok bool 是否成功 true
old_lines int 原始文本行数 3
new_lines int 目标文本行数 3
added int 新增行数 1
deleted int 删除行数 1
unchanged int 未变行数 2
similarity float 相似度百分比 66.67
diff array 逐行明细,type 为 same/add/del []
返回示例

成功

{
    "code": 200,
    "message": "操作成功",
    "data": {
        "ok": true,
        "old_lines": 3,
        "new_lines": 3,
        "added": 1,
        "deleted": 1,
        "unchanged": 2,
        "similarity": 66.67,
        "diff": [
            {
                "type": "same",
                "line": 1,
                "text": "a"
            },
            {
                "type": "del",
                "line": 2,
                "text": "b"
            },
            {
                "type": "add",
                "line": 2,
                "text": "x"
            },
            {
                "type": "same",
                "line": 3,
                "text": "c"
            }
        ]
    }
}

失败

{
    "code": 400,
    "message": "单侧文本最多 500 行",
    "data": null
}
平台通用状态码
状态码 说明
200调用成功
400缺少必填参数或参数格式有误
401密钥缺失或无效
402余额不足,请充值后重试
403未开通该接口,请在本页开通后调用
404接口不存在或已下架
429触发限流,请稍后重试
500接口调用失败(已扣款的会自动退款)
调用示例

cURL 复制

curl -X POST "https://cx4.cn/openApi/dev/diff" -H "X-Api-Key: 你的SecretKey" -d "text1=a\nb\nc&text2=a\nx\nc"

JavaScript 复制

fetch('https://cx4.cn/openApi/dev/diff', {
  method: 'POST',
  headers: {
    'X-Api-Key': '你的SecretKey',
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: 'text1=a\nb\nc&text2=a\nx\nc'
})
.then(res => res.json())
.then(data => console.log(data));

PHP 复制

post('https://cx4.cn/openApi/dev/diff', [
    'headers' => ['X-Api-Key' => '你的SecretKey'],
    'form_params' => ['text1' => 'a\nb\nc', 'text2' => 'a\nx\nc'],
]);
echo $response->getBody();

Java 复制

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://cx4.cn/openApi/dev/diff"))
    .header("X-Api-Key", "你的SecretKey")
    .header("Content-Type", "application/x-www-form-urlencoded")
    .POST(HttpRequest.BodyPublishers.ofString("text1=a\nb\nc&text2=a\nx\nc"))
    .build();
HttpResponse response = client.send(
        request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

Python 复制

import requests

res = requests.post('https://cx4.cn/openApi/dev/diff',
    headers={'X-Api-Key': '你的SecretKey'},
    data={'text1': 'a\nb\nc', 'text2': 'a\nx\nc'})
print(res.json())
在线测试 (使用你的密钥真实调用,计费与正常调用一致)

登录后可在线测试: 立即登录

计费说明

¥0.0010

每次调用


每日免费额度:100 次

累计调用:3 次


快速上手

1. 注册并完成邮箱验证:立即注册

2. 登录后复制 Secret Key:去登录

3. 点击右侧「开通接口」按钮

4. 用下方「在线测试」一键体验,或复制下方示例代码直接调用