#python #api #command-line-interface #nexus
#python #API #интерфейс командной строки #nexus
Вопрос:
Я пытаюсь подключиться к серверу, делая:
nexus_config = nexuscli.nexus_config.NexusConfig(username=NEXUS_USER,
password=NEXUS_PASSWORD,
url=NEXUS_URL,
x509_verify=True)
nexus_client = nexuscli.nexus_client.NexusClient(config=nexus_config)
print(nexus_client.repositories.list)
Но я получаю сообщение об ошибке:
nexuscli.exception.NexusClientConnectionError: HTTPSConnectionPool(host='my_site.net', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1091)')))
https://nexus3-cli.readthedocs.io/en/latest/nexuscli.html#module-nexuscli.nexus_config
проверяя URL-адрес с помощью API endpoing с помощью библиотеки запросов и настройки validate=False
, я получаю предупреждение и действительно работает.
Поэтому я меняю свой код на: x509_verify=True
надеясь, что произойдет то же самое с запросами, что я буду получать предупреждения, но вместо этого я получил.
Есть ли что-то, чего мне не хватает? или, может быть, в библиотеке есть ошибка? спасибо, ребята.
nexuscli.exception.NexusClientAPIError: <exception str() failed>
Ответ №1:
Вы получаете исключение: NexusClientAPIError
. Согласно документам:
исключение nexuscli.exception.Базы NexusClientAPIError: исключение
Неожиданный ответ от службы Nexus.
Я думаю, что ваш код в порядке, и проблема с x.509
сертификатом решена, и проблема может быть на стороне сервера.
Комментарии:
1. Вы правы, я могу распечатать nexus_client.http.server_version, и это не вызывает api, а просто извлекает информацию из инициализации