1. 程式人生 > >騰訊翻譯介面 破解

騰訊翻譯介面 破解

前面分別介紹了《有道翻譯介面 破解》《谷歌翻譯介面 破解》及《百度翻譯介面 破解》,下面來嘗試一下騰訊翻譯介面(Github地址,歡迎star)。
老規矩,上圖:
審查元素
可得到 Request URL 和 Request Method,接著往下看:
審查元素
根據上圖,我們知道未知的引數是 sessionUuid 。通過多次試驗,發現從結構上,是由字串“translate_uuid” + 隨機數 得到。經過之前對另外幾個介面的破解,我們大概可以猜測到這個隨機數跟時間有關係。
猜測歸猜測,動手驗證一下。經過關鍵字搜尋,我在 js 程式碼中發現了這個 uuid 的生成由來,如下:
審查元素
將上述 js 程式碼格式化,然後再次搜尋關鍵字,得到:
js 程式碼片段


明顯,這個 uuid 直接使用的系統時間,再次驗證了我們的想法。
剩下的就是進行程式碼實現了,如下:

public class Tencent {
    public static void main(String[] args) throws Exception{
        String from = "en";
        String to = "zh";
        String q = "Who are you?What do you want to do?";

        Map<String, String> params = new HashMap<>();
        params.put("source"
, from); params.put("target", to); params.put("sourceText", q); params.put("sessionUuid", "translate_uuid" + String.valueOf(System.currentTimeMillis())); String url = "http://fanyi.qq.com/api/translate"; CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost request = new
HttpPost(url); request.setEntity(new UrlEncodedFormEntity(util.convertParams(params), "UTF-8")); request.setHeader("Cookie", "fy_guid=d4480e20-1644-4a47-a98d-787cfa244fd2;qtv=45db6800eff8077d;qtk=vwCc8qMPUDnXjoyGCPEOWs/VJlGgE/T9rZxCBZ91BvuJncfjxAfUsureuGWhZFnF8L15Hyh/zO4Ari0fz2gOo/AaSpJmdRvReb95XBFWn14m+fRcQfq/LGYQ34KWxbXxJpxDtJyO+LPG6SpryVf1kg==;"); request.setHeader("Origin", "http://fanyi.qq.com"); CloseableHttpResponse response = httpClient.execute(request); HttpEntity entity = response.getEntity(); String result = EntityUtils.toString(entity, "utf-8"); System.out.println(result); EntityUtils.consume(entity); response.getEntity().getContent().close(); response.close(); } }

注意:需要設定 cookie,否則會出錯。