urllib のデフォルトオープナーを使うレガシー Google バックエンドでは、Python を次のように起動します。

http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 python recognize_job.py

バックエンドは urllib の Request を構築し、urlopen を呼び出します。周囲のアプリケーションにある別の Requests セッションでは、そのオープナーの経路を設定できません。

デフォルトのレガシーエンドポイントは HTTP なので、両方の変数が関係します。https_proxy だけを設定すると、そのデフォルトの HTTP リクエストは未設定のままになります。これらの値は仲介プロトコルを表します。機密性のない音声を使うテストでは、HTTP プロキシ一覧がこれらの値の公開候補を提供します。

必要に応じて認識器の operation_timeout を設定すると、この urlopen 操作を制限できます。マイクの聞き取りタイムアウトは前の段階を制御します。

recognize_google_cloud は代わりに Google Cloud Speech クライアントを使い、独自のトランスポートと認証を持ちます。バックエンド名、実際のエンドポイント、失敗した段階をエラーとともに保持し、urllib がすでにサポートする経路を変えるためにレガシー方式を site-packages にコピーしないでください。

関連記事