Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

恢复彩云 API 的可用性 #135

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Yesterday17
Copy link

彩云 API 不稳定是由于测试 token 超过使用限制。

故使用网页版的请求方式以绕过测试 token 的使用限额。

另外还修改了一些测试中发生变化的文本(GoogleCN)。

Yesterday17 and others added 2 commits August 11, 2020 01:28
使用网页版的请求方式以绕过测试 token 的使用限额
@Isayama-Kagura
Copy link

大佬,这个是什么原理,是绕过了官方提供的api请求方式,直接利用网页得出翻译结果吗?
这种方法能否在yeekit上使用?
https://www.yeekit.com/site/translate

@Yesterday17
Copy link
Author

@Isayama-Kagura 扒的彩云前端api,跟扒 Notion 的差不多

@Isayama-Kagura
Copy link

最近我也试着给yuki加一些翻译api,本来想着把yeekit(中国对外翻译出版公司下属企业搞的,应该不会太差)也加上去的,它的网页版支持日语,但是官方手册上只提供了中英文的翻译功能。看到大佬利用网页版来请求翻译的思路,自己也试着分析了一下它的网页代码,照着它的格式拼请求参数,但是因为技术渣总是返回invalid request。希望大佬有空也看看这个api能不能用类似的方式实现。

它的页面源码里包含了一个translate.js文件,然后主要的翻译请求逻辑都在doTranslateSimple这个函数里面。

@Yesterday17
Copy link
Author

看了一下,好像什么反混淆都不需要的样子,直接 curl 就出结果了
image

@Isayama-Kagura
Copy link

很强,那就拜托大佬完善一下啦

@Isayama-Kagura
Copy link

感谢大佬指点,已经成功摸索出来了

@Isayama-Kagura
Copy link

还有个问题请教一下,本想改进自己的小牛api,不需要key就能用,但是看他的http请求,发送是用get,接收的响应是text/html格式的,按照之前的写法获取不了翻译结果,这个有解决办法吗
附curl
curl 'https://test.niutrans.com/NiuTransServer/testtrans?query=25885775&from=zh&to=ja&src_text=%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5&source=text'

@Yesterday17
Copy link
Author

@Isayama-Kagura 具体是什么提示呢(

@Isayama-Kagura
Copy link

就是then后面返回的东西似乎是空的,既不是字符串也不是json,放在callback里面也显示不出东西

@ghost
Copy link

ghost commented Jan 31, 2021

这个 caiyunApi.js 有个问题: 暂停(游戏)翻译 5 分钟左右恢复之后就无法翻译了,这种情况我只能重启 YUKI

翻译框里会出现 error: TypeError: Cannot read property 'replace' of undefined

@ghost
Copy link

ghost commented Jan 31, 2021

就是then后面返回的东西似乎是空的,既不是字符串也不是json,放在callback里面也显示不出东西

服务器返回的 Content-Type 可以被 override 为 application/json

https://stackoverflow.com/questions/60629538/override-the-content-type-being-set-in-the-req-header-with-node-js

但是这个 url ,只会返回和 源文 无关的随机内容

クイーンC勝ち馬は直近3年で2着2回。

展示されていた『ヌーダ・ヴェリタス(裸の真実)』の金の渦巻きをモチーフにした3連のブレスレット。

4位「金沢大学医薬保健学域」0.89%

@Isayama-Kagura
Copy link

Isayama-Kagura commented Jan 31, 2021

@ygsk10 对,url也是个问题。这个翻译api应该是在不同的时间产生不同的一串query,要得到正确的翻译结果需要输对这个参数,然而我看不出如何计算出这个数字。刚刚测试到的query=25462728

@Yesterday17
Copy link
Author

Yesterday17 commented Jan 31, 2021

image

@Isayama-Kagura
Copy link

有点懂了,就是需要一开始的时候先访问主页面,然后请求app.js,再找到里面的motlog_trans。。。感觉自己代码力不足了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants