582 Stimmen

Unterdrücken von InsecureRequestWarning: Nicht überprüfte HTTPS-Anfrage wird in Python2.6 durchgeführt

Ich schreibe Skripte in Python2.6 mit Verwendung von pyVmomi und während der Verwendung einer der Verbindungsmethoden:

service_instance = connect.SmartConnect(host=args.ip,
                                        user=args.user,
                                        pwd=args.password)

Ich erhalte die folgende Warnung:

/usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)

Interessanterweise habe ich urllib3 nicht mit pip installiert (aber es befindet sich in /usr/lib/python2.6/site-packages/requests/packages/urllib3/).

Ich habe versucht, wie hier vorgeschlagen

import urllib3
...
urllib3.disable_warnings()

aber das hat nichts geändert.

6voto

VladimirB Punkte 59

Das ist wahrscheinlich nützlich für jemanden, der unittest benutzt, wenn importierte Module die request-Bibliothek benutzen. Um Warnungen in requests' vendored urllib3 zu unterdrücken, füge hinzu

warnings.filterwarnings('ignore', message='Unverified HTTPS request')

zur setUp-Methode in deiner Testklasse, z. B.:

import unittest, warnings

class MyTests(unittest.TestCase):

    def setUp(self):
        warnings.filterwarnings('ignore', message='Unverified HTTPS request')

    (alle Testmethoden hier)

2voto

Rajive Pai Punkte 312

Ich hatte ein ähnliches Problem mit dem PyVmomi-Client. Mit Python-Version 2.7.9 habe ich dieses Problem mit der folgenden Codezeile gelöst:

default_sslContext = ssl._create_unverified_context()
self.client = \
                Client(, username=, password=,
                       sslContext=default_sslContext )

Beachten Sie, dass Sie für dieses Funktionieren mindestens Python 2.7.9 benötigen.

1voto

Emanuel Punkte 692

Warum nicht die originale Funktion SmartConnectNoSSL von pyvmomi verwenden. Sie haben diese Funktion am 14. Juni 2016 hinzugefügt und sie einen Tag später in SmartConnectNoSSL umbenannt. Warum also die Warnung umgehen und unnötige Codezeilen in Ihrem Projekt einfügen?

Bietet eine standardisierte Methode zur Verbindung mit einem bestimmten Server ohne SSL-Verifizierung. Nützlich, wenn Sie sich mit Servern mit selbst signierten Zertifikaten verbinden oder wenn Sie SSL vollständig ignorieren möchten.

service_instance = connect.SmartConnectNoSSL(host=args.ip,
                                             user=args.user,
                                             pwd=args.password)

1voto

Imran Al Noor Punkte 29

Für Python 2.7

Fügen Sie die Umgebungsvariable PYTHONWARNINGS als Schlüssel hinzu und den entsprechenden Wert, der ignoriert werden soll, wie:

os.environ['PYTHONWARNINGS']="ignore:Unverified HTTPS request"

0voto

Safvan CK Punkte 1035

Unterdrücken von Protokollen mit der Standard-Python-Bibliothek 'Protokollierung'


Platzieren Sie diesen Code oben in Ihrem bestehenden Code

import logging
urllib3_logger = logging.getLogger('urllib3')
urllib3_logger.setLevel(logging.CRITICAL)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X