Google Cloud Speech API - не удалось подтвердить сертификат в Python - PullRequest
0 голосов
/ 15 мая 2018

Я использую библиотеку SpeechRecognition.

import speech_recognition as sr

AUDIO_FILE = 'test_audio.wav'

with open("api-key.json") as f:
    GOOGLE_CLOUD_SPEECH_CREDENTIALS = f.read()

r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
        audio = r.record(source)

print('Starting recognition...')
print(r.recognize_google_cloud(audio, credentials_json=GOOGLE_CLOUD_SPEECH_CREDENTIALS))
print('Completed')

При выполнении приведенного выше кода возникает ошибка -

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] сертификатпроверить не удалось (_ssl.c: 777)

Звуковой файл и файлы API-ключа на месте.

1 Ответ

0 голосов
/ 18 июля 2018

Мне удалось использовать через прокси, напрямую редактируя код клиентской библиотеки Google Speech в Python.В частности, я отредактировал файл по адресу (он может отличаться в вашем случае):

lib/python3.6/site-packages/google/auth/transport/requests.py

Класс запроса, метод вызов , есть строка вроде:

response = self.session.request(method, url, data=body, headers=headers, timeout=timeout)

Я добавил параметр verify = False к этому вызову, который будет просто игнорировать проверки сертификатов SSL.Однако это не рекомендуется, так как связано с проблемами безопасности.Если у вас есть сертификаты CA в прокси, вы заменяете verify = False на cert = "/ local / address / to / ca / ​​cert".Вот как у меня это работает:

 response = self.session.request(method, url, data=body, headers=headers, timeout=timeout,verify=False,**kwargs)
...