36 lines
966 B
JavaScript
36 lines
966 B
JavaScript
const axios = require("axios");
|
|
const CryptoJS = require("crypto-js");
|
|
const fs = require("fs");
|
|
|
|
function truncate(q){
|
|
var len = q.length;
|
|
if(len<=20) return q;
|
|
return q.substring(0, 10) + len + q.substring(len-10, len);
|
|
}
|
|
|
|
var appKey = "73ff413042ffde53";
|
|
var key = "FAt2w0mFLoDDIz6ZoAY8WJFgZvLFtIYe";
|
|
var salt = (new Date).getTime();
|
|
var curtime = Math.round(new Date().getTime()/1000);
|
|
var query = 'hello world';
|
|
var str1 = appKey + truncate(query) + salt + curtime + key;
|
|
var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex);
|
|
|
|
console.log(sign);
|
|
|
|
axios.post('https://openapi.youdao.com/api',{
|
|
q: query.toString(),
|
|
appKey: appKey,
|
|
salt: (new Date).getTime(),
|
|
from: 'en',
|
|
to: 'zh-CHS',
|
|
sign: sign,
|
|
signType: "v3",
|
|
curtime:Math.round(new Date().getTime()/1000),
|
|
},{
|
|
headers:{
|
|
'Content-Type': 'multipart/form-data'
|
|
}
|
|
}).then((res)=>{
|
|
fs.writeFileSync("result.json",JSON.stringify(res.data));
|
|
}) |