caoliu023 发表于 2024-6-26 11:18:42

百度翻译api的利用方法


忘记从哪里找的代码拼凑的百度翻译,感兴趣的可以拿去试试,需要自己申请百度api
https://fanyi-api.baidu.com/product/113
YC:MD5这个函数是哪个大神的代码,有知道的麻烦说一下,我好注明出处
输入(baidu-translate "HELLO WORLD")
输出"{\"from\":\"en\",\"to\":\"zh\",\"trans_result\":[{\"src\":\"HELLO
WORLD\",\"dst\":\"\\u4f60\\u597d\\u4e16\\u754c\"}]}"
(defun baidu-translate(str)
(setq appid "2022100800*******"
salt "143*******"
key "b9A6Eyw00P1jJ*******"
)
(setq sign(YC:MD5 (strcat appid str salt key)))
(progn
(vl-load-com)
(setq obj(vlax-create-object (strcat"win""http"".win""http""request.5.1")))
(vlax-invoke obj'open "get" (strcat "http://api.fanyi.baidu.com/api/trans/vip/translate?q="
               str "&from=en&to=zh&appid="appid "&salt="salt "&sign="sign
                ):vlax-true)
(vlax-invoke obj'send)
(vlax-invoke obj 'WaitforResponse 1000)
(setq dst(vlax-get obj 'ResponseText))
)
)

nuan1989 发表于 2024-6-27 02:25:14

被承包的东子 发表于 2024-6-26 18:26
salt 是什么,随便填一个随机数么

签名生成方法
签名是为了保证调用安全,使用 MD5 算法生成的一段字符串,生成的签名长度为 32 位,签名中的英文字符均为小写格式。

生成方法:
Step1. 将请求参数中的 APPID(appid), 翻译 query(q,注意为UTF-8编码),随机数(salt),以及平台分配的密钥(可在管理控制台查看) 按照 appid+q+salt+密钥的顺序拼接得到字符串 1。
Step2. 对字符串 1 做 MD5 ,得到 32 位小写的 sign。
注:
1. 待翻译文本(q)参数需为 UTF-8 编码;
2. 在生成签名拼接 appid+q+salt+密钥 字符串时,q 不需要做 URL encode,在生成签名之后,发送 HTTP 请求之前才需要对要发送的待翻译文本字段 q 做 URL encode;
3.如遇到报 54001 签名错误,请检查您的签名生成方法是否正确,在对 sign 进行拼接和加密时,q 不需要做 URL encode,很多开发者遇到签名报错均是由于拼接 sign 前就做了 URL encode;
4.在生成签名后,发送 HTTP 请求时,如果将 query 拼接在URL上,需要对 query 做 URL encode。

被承包的东子 发表于 2024-6-27 08:02:27

nuan1989 发表于 2024-6-27 02:25
签名生成方法
签名是为了保证调用安全,使用 MD5 算法生成的一段字符串,生成的签名长度为 32 位,签名 ...

谢谢回复,我后来知道salt是随机数了,想在问问,这个salt我自己随便定义一个,不用每次使用都生成一个吧

caoliu023 发表于 2024-6-27 09:18:42

被承包的东子 发表于 2024-6-27 08:02
谢谢回复,我后来知道salt是随机数了,想在问问,这个salt我自己随便定义一个,不用每次使用都生成一个吧
可以每次生成,也可以默认,每次生成是为了你的密钥安全,我是自己用所以不在意

被承包的东子 发表于 2024-6-26 18:09:32

厉害厉害,学习到了

被承包的东子 发表于 2024-6-26 18:26:19

本帖最后由 被承包的东子 于 2024-6-26 18:29 编辑

salt 是什么,随便填一个随机数么

被承包的东子 发表于 2024-6-27 11:01:08

求助,怎么正确的转汉字的MD5码啊,

paulpipi 发表于 2024-6-27 12:30:44

这对于我们小白,不知道怎么弄,能不能有高人把他弄好,出个教程,那就太感谢了

caoliu023 发表于 2024-6-27 13:13:36

被承包的东子 发表于 2024-6-27 11:01
求助,怎么正确的转汉字的MD5码啊,

我是翻译英文所以没有编码问题,你要把中文翻译为其它语言那你得转换中文字符的编码,所以这个可能不适合你

罗尼 发表于 2024-7-11 16:49:09

好像用不了:'(
页: [1] 2
查看完整版本: 百度翻译api的利用方法