Для устаревшего backend Google, использующего стандартный opener urllib, запустите Python так:

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

Backend создаёт Request urllib и вызывает urlopen. Отдельная сессия Requests в окружающем приложении не может задать маршрут этого opener.

Обе переменные важны, потому что стандартный устаревший endpoint — HTTP. Если задать только https_proxy, этот стандартный HTTP-запрос останется ненастроенным. Их значения описывают протокол посредника. Для теста с неконфиденциальным звуком список HTTP-прокси даёт публичных кандидатов для этих значений.

Задайте operation_timeout распознавателя, чтобы при необходимости ограничить эту операцию urlopen. Тайм-аут прослушивания микрофона управляет более ранним этапом.

recognize_google_cloud вместо этого использует client Google Cloud Speech со своим транспортом и аутентификацией. Сохраняйте имя backend, фактический endpoint и неудавшийся этап вместе с ошибкой, а не копируйте устаревший метод в site-packages, чтобы изменить маршрут, который urllib уже поддерживает.

Похожие статьи