网页翻译

翻译包含 HTML 标签的文本,保留原有标签结构。

GET / POSThttps://translate.ilivedata.com/api/v1/htmlTranslate

接入前,请在云上曲率官网注册账号、创建企业,并在控制台选择「实时文本翻译」服务创建应用,获取项目编号和服务密钥。如需开通更多服务,可在控制台「总览」页面操作。

请求参数

请求头

Header 值 说明
Accept application/json;charset=UTF-8 响应格式
Authorization — 签名值,计算方式见下文「请求签名」

请求字段

参数 类型 必需 说明
q String 必需 待翻译的 HTML 文本, 长度上限:256*1024
source String 必需 原文本的语种(下称“源语言”)。此参数需设置为语言支持中列举的ISO 639-1标准的语言代码之一。API会自动进行语种检测,在句子中仅包含无意义文本时,会参考该值,可以设定该参数值为auto。
target String 必需 目标语言代码,取值见语言支持。
appId String 必需 项目或应用的唯一标识符。需要在官网注册账号及公司后,在控制台创建实时翻译项目,即可得到项目的appId。
profanity String 可选 敏感内容过滤功能。可选值为censor和off,分别对应开启和关闭,如未指定则默认为off。此功能仅通过关键词屏蔽,如果您的业务对于文本审核有更高要求或需要定制内容,建议接入云上曲率的多语言文本审核服务。
timeStamp String 必需 请求发起时的 UTC 时间,采用 W3C 格式,例如 2026-10-12T02:30:00Z。实际请求需使用当前时间。

请求示例

以下为 GET 请求示例,appId、timeStamp 和签名需替换为实际值。q 中的 HTML 标签需进行 URL 编码。

GET /api/v1/htmlTranslate?q=%3Cp%3Ehello%20world%3C%2Fp%3E&source=en&target=zh-CN&appId=1234&timeStamp=2026-10-12T02%3A30%3A00Z HTTP/1.1
Host: translate.ilivedata.com
Accept: application/json;charset=UTF-8
Authorization: <计算得到的签名>

请求签名

使用项目的 secretKey 计算签名,将结果放入请求头 Authorization。签名不一致或项目无权限时返回 HTTP 401。

构造参数字符串

  1. 按参数名称排序。
  2. 按 RFC 3986 对参数名和值进行 URL 编码:字母、数字、-、_、.、~ 保持不变,其他字符使用大写十六进制百分号编码;UTF-8 多字节字符逐字节编码。
  3. 使用 = 连接参数名和值(空值也保留 =),使用 & 连接各参数,得到 CanonicalizedQueryString。

使用表单 URL 编码库时,将编码结果中的 + 替换为 %20、* 替换为 %2A、%7E 替换为 ~。空格必须编码为 %20。

构造签名字符串

StringToSign = HTTPMethod + "\n" +
               HostHeaderInLowercase + "\n" +
               HTTPRequestURI + "\n" +
               CanonicalizedQueryString
签名参数 值
HTTPMethod 实际请求方法:GET 或 POST
HostHeaderInLowercase translate.ilivedata.com
HTTPRequestURI /api/v1/htmlTranslate

HTTPRequestURI 不包含查询参数。

计算 Authorization

以 secretKey 为密钥,使用 HMAC-SHA256 对 StringToSign 计算摘要,再将摘要进行 Base64 编码,作为 Authorization 请求头的值。

示例代码

客户端接入示例见示例代码。