ה-Translator האסינכרוני של googletrans חושף ארגומנט יחיד proxy ומעביר אותו ל-AsyncClient של HTTPX:

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 הבסיסי. קריאה ל-translate בלי להמתין לה שייכת לצורת API אחרת ואינה מבצעת את הפעולה האסינכרונית הזו.

כתובת ה-URL של הפרוקסי יכולה להצביע על מאזין HTTP רגיל למרות שנקודת הקצה של התרגום משתמשת ב-HTTPS. לבדיקה מותרת עם טקסט לא רגיש, רשימת פרוקסי ה-HTTP מספקת מועמדים לנקודות קצה ציבוריות. כאשר נדרש חשבון פרוקסי, משתמשים בפרטי משתמש מקודדים כראוי של אותה כתובת או בתצורת הפרוקסי הנתמכת ב-HTTPX.

דוגמאות ישנות יותר העבירו מיפויי proxies שהכילו אובייקטים פנימיים של httpcore.SyncHTTPProxy. אלה תלויים בממשקים ישנים יותר של googletrans ו-httpcore. אל תשלבו אותם עם הבנאי האסינכרוני הציבורי הזה.

googletrans מממש ממשק אינטרנט של Google Translate; זהו חבילה ומודל אימות שונים מ-SDK הרשמי של Google Cloud Translation. ודאו איזה לקוח היישום מייבא בפועל לפני החלת תצורת הפרוקסי.

מאמרים קשורים