Настройка прокси для устаревшего пути Google urllib в SpeechRecognition
Запустите задачу с обеими нужными переменными прокси и отличайте этот backend от отдельного client в recognize_google_cloud.
Для устаревшего backend Google, использующего стандартный opener urllib, запустите Python так:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 python recognize_job.pyBackend создаёт 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 уже поддерживает.