Skip to content

Dark-20001/xfyun-trans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

xfyun-trans

讯飞的官方文档: https://www.xfyun.cn/doc/nlp/xftrans/API.html

文档中没有C# .Net的示例,因此我来做一个。

首先还是一样去 https://www.xfyun.cn/service/xftrans 注册一个试用的API,并开通机器翻译 得到appid, apikey和apisecret

基本流程如图: 在这里插入图片描述 语言支持列表:

语言名称 缩写
汉语普通话 cn
英语 en
彝语 ii
广东话 yue
日语 ja
俄语 ru
法语 fr
西班牙语 es
阿拉伯语 ar

首先apikey,源语言,目标语言加要翻译的字串的base64码四项合在一起组成json格式request body 我这里要翻译的字串是

今天天气怎么样?

组合成Json

{"common":{"app_id":"bddb2ece"},"business":{"from":"cn","to":"en"},"data":{"text":"5LuK5aSp5aSp5rCU5oCO5LmI5qC377yf"}}

Json string 通过sha256计算后进行base64编码,并再前面加上SHA-256= 作为digest

SHA-256=2914KHGUCAu4TIVDxqRs3Zy55EXa8hZ0kyFEE+4rMdg=

同时记录一个UTC时间

Sun, 13 Jun 2021 04:19:27 GMT

时间,digest,host,path合成digest原始字串

host: itrans.xfyun.cn
date: Sun, 13 Jun 2021 04:19:27 GMT
POST /v2/its HTTP/1.1
digest: SHA-256=2914KHGUCAu4TIVDxqRs3Zy55EXa8hZ0kyFEE+4rMdg=

digest原始字串,使用apisecret进行hmacsha256计算并将结果进行base64编码,即得到signature

2Xk/mw8HwY6salSzqbSjkFeE69Z3NVW+pAhlNFrVDK4=

合成Authorization string

api_key="myapikey", algorithm="hmac-sha256", headers="host date request-line digest", signature="2Xk/mw8HwY6salSzqbSjkFeE69Z3NVW+pAhlNFrVDK4="

signature,Date,host,Authorization 加入request header

{Content-Type: application/json
Accept: application/json
Date: Sun, 13 Jun 2021 04:19:27 GMT
Digest: SHA-256=2914KHGUCAu4TIVDxqRs3Zy55EXa8hZ0kyFEE+4rMdg=
Authorization: api_key="myapikey", algorithm="hmac-sha256", headers="host date request-line digest", signature="2Xk/mw8HwY6salSzqbSjkFeE69Z3NVW+pAhlNFrVDK4="
}

把json发给host https://itrans.xfyun.cn/v2/its

从response得到json返回结果

{
  "code": 0,
  "message": "success",
  "sid": "its....",
  "data": {
    "result": {
      "from": "cn",
      "to": "en",
      "trans_result": {
        "dst": "What's the weather like today?",
        "src": "今天天气怎么样?"
      }
    }
  }
}

调用完成

具体代码参考: https://github.com/Dark-20001/xfyun-trans

感谢讯飞技术人员的支持

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages