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())

async コンテキストは基盤の HTTP クライアントを閉じます。translate を await せずに呼ぶのは別の API 形式に属し、この非同期処理を実行しません。

翻訳エンドポイントが HTTPS を使っていても、プロキシ URL は通常の HTTP リスナーを指せます。機密性のないテキストでの許可されたテストには、HTTP プロキシ一覧 が公開エンドポイントの候補を提供します。プロキシのアカウントが必要な場合は、その URL の 適切にエンコードされたユーザー情報 か、HTTPX が対応するプロキシ設定を使います。

古い例では proxies マッピングを渡していましたが、それには内部の httpcore.SyncHTTPProxy オブジェクトが含まれていました。それらは古い googletrans と httpcore のインターフェースに依存します。この公開された非同期コンストラクターと組み合わせないでください。

googletrans は Google Translate のウェブインターフェースを実装しています。公式の Google Cloud Translation SDK とは別のパッケージと認証モデルです。プロキシ設定を適用する前に、アプリケーションが実際にどのクライアントをインポートしているか確認してください。

関連記事