Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 代码发布 › 「日志记录」逆向必应翻译网页版API实现免费调用

「日志记录」逆向必应翻译网页版API实现免费调用

Eswlnk的头像
Eswlnk
2025-02-07 22:02:20
「日志记录」逆向必应翻译网页版API实现免费调用-Eswlnk Blog
智能摘要 AI
本文介绍了如何通过逆向分析必应翻译接口,获取其API参数并实现翻译功能。作者发现必应翻译会保留HTML字符,但效果不如谷歌翻译。通过分析目标URL和请求参数,提取了表单和查询字符串中的关键参数,如`token`、`key`和`IG`,并提供了Python代码实现翻译功能。最终成功调用API并获取翻译结果。

0x00 前言

最近在做翻译接口的时候,偶然间发现必应翻译是会保留HTML字符进行翻译,但是效果还是不如谷歌翻译来的好,就算一个备用API接口吧

0x01 逆向

目标URL:https://www.bing.com/translator?setmkt=zh-cn&setlang=zh-cn

「日志记录」逆向必应翻译网页版API实现免费调用-Eswlnk Blog

相关API接口所需参数如图所示,表单参数如下:

  1. fromLang: en
  2. to: zh-Hans
  3. text: how are you
  4. tryFetchingGenderDebiasedTranslations: true
  5. token: GzahiqpKZ5NVwTzZX2HMUaSgd43eBMxQ
  6. key: 1738936318486

查询字符串参数如下:

  1. isVertical: 1
  2. IG: 2CD61A563F1E4AFC99EBAD61310D84FF
  3. IID: translator.5026

IG为一个随机的MD5值,作为全局变量存储:_G.IG,如图所示

「日志记录」逆向必应翻译网页版API实现免费调用-Eswlnk Blog
IG参数

每次都会变动,与13位的时间戳绑定相关,如下图所示:

「日志记录」逆向必应翻译网页版API实现免费调用-Eswlnk Blog
KEY和token

0x02 相关代码

很好,所有内容可以明文获取,也不藏着捏着,直接给出相关的Python代码:

import re

import requests

def get_bing_translation(token, key, IG, text, from_lang='en', to_lang='zh-Hans'):
    # 构建POST请求的payload,确保URL编码
    payload = f"fromLang={from_lang}&to={to_lang}&text={requests.utils.quote(text)}&tryFetchingGenderDebiasedTranslations=true&token={token}&key={key}"

    # 构建请求头部
    headers = {
        'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
        'Accept': '*/*',
        'Host': 'www.bing.com',
        'Connection': 'keep-alive',
        'Content-Type': 'application/x-www-form-urlencoded',
    }

    # 发送POST请求
    url = f"https://www.bing.com/ttranslatev3?isVertical=1&IG={IG}&IID=translator.5026"
    response = requests.post(url, headers=headers, data=payload)

    # 判断请求是否成功
    if response.status_code == 200:
        result = response.json()
        return result
    else:
        return f"Error: {response.status_code}"

def extract_bing_translation_params():
    # 发送GET请求获取网页内容
    url = "https://www.bing.com/translator?mkt=zh-CN"
    response = requests.get(url)

    # 检查请求是否成功
    if response.status_code != 200:
        return f"Error: Unable to access {url}"

    # 查找并提取 params_AbusePreventionHelper 数组
    key_pattern = re.compile(r'params_AbusePreventionHelper\s*=\s*\[([^\]]+)\]')
    key_match = key_pattern.search(response.text)

    if not key_match:
        return "Error: Unable to find params_AbusePreventionHelper"

    # 提取并解析数组
    params_str = key_match.group(1)
    params_list = [item.strip().strip('"') if '"' in item else int(item) for item in params_str.split(',')]

    # 查找并提取 IG 参数
    ig_pattern = re.compile(r'IG:"([^"]+)"')  # 强制匹配大小写的32个字符
    ig_match = ig_pattern.search(response.text)

    if not ig_match:
        return "Error: Unable to find IG parameter"

    # 提取并返回所需的参数
    token = params_list[1]
    key = params_list[0]
    ig = ig_match.group(1)

    return token, key, ig


# 示例URL

params = extract_bing_translation_params()

# 输出结果
if isinstance(params, tuple):  # 确保返回的是有效的元组

    # 翻译内容
    text = "how are you?"

    # 获取翻译
    translation_result = get_bing_translation(params[0], params[1], params[2], text)

    print(translation_result[0]['translations'][0]['text'])

    print("Extracted Parameters:")
    print(f"Token: {params[0]}")
    print(f"Key: {params[1]}")
    print(f"IG: {params[2]}")
else:
    print(params)  # 打印错误信息
「日志记录」逆向必应翻译网页版API实现免费调用-Eswlnk Blog

收工!

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
APIpython代码必应日志翻译
0
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「代码分享」第三方平台VIP视频解析API接口
上一篇
「日志记录」本站文章开启AI智能摘要
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「日志」IG无缘S15总决赛
  • 来自谷歌27岁的生日涂鸦
  • 事件记录:国内网络故障情况
  • 科研记录:ecCodes处理grib文件问题
  • 本站上线邀请码免费兑换系统
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

如何在Rocky Linux 8上安装WordPress
2021-09-02 21:53:16
绕过Hook通过内核 API 免杀
2023-07-29 17:55:29
「代码分享」Vue项目配置 webpack-obfuscator 进行代码加密混淆
2022-10-20 22:27:49

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.531 秒   |  SQL查询 24 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈