async googletrans 翻译器接受代理 URL
在 googletrans 的异步 Translator 上使用单个 proxy 构造参数,并用异步上下文管理器关闭其 HTTPX 客户端。
googletrans 的异步 Translator 暴露一个单独的 proxy 参数,并将其传递给 HTTPX 的 AsyncClient:
import asyncio
from googletrans import Translator
async def main():
async with Translator(proxy='http://proxy.example:8080') as translator:
translated = await translator.translate('Bonjour', dest='en')
print(translated.text)
asyncio.run(main())
异步上下文会关闭底层 HTTP 客户端。不 await 就调用 translate 属于另一种 API 形态,不会执行这一异步操作。
即使翻译端点使用 HTTPS,代理 URL 也可以指向普通的 HTTP 监听端口。对于使用非敏感文本的获准测试,HTTP 代理列表 提供公开端点候选。需要代理账户时,应使用该 URL 的 正确编码的用户信息,或 HTTPX 支持的代理配置。
较早的示例传入 proxies 映射,其中包含内部的 httpcore.SyncHTTPProxy 对象。那些示例依赖较旧的 googletrans 和 httpcore 接口。不要将它们与此公开的异步构造函数混用。
googletrans 实现的是 Google Translate 的网页接口;它的软件包与身份验证模型都与官方 Google Cloud Translation SDK 不同。在应用其代理配置之前,请确认应用程序实际导入的是哪个客户端。