InsecurePlatformWarning: un objeto SSLContext verdadero no está disponible. Esto evita que urllib3 configure SSL adecuadamente [duplicado]
Intenté realizar REST GET a través de solicitudes de Python con el siguiente código y obtuve un error.
Recorte de código:
import requests
header = {'Authorization': 'Bearer...'}
url = az_base_url + az_subscription_id + '/resourcegroups/Default-Networking/resources?' + az_api_version
r = requests.get(url, headers=header)
Error:
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:79:
InsecurePlatformWarning: A true SSLContext object is not available.
This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail.
For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Mi versión de Python es 2.7.3. Intenté instalar urllib3 y request[security] como sugiere otro hilo, sigo recibiendo el mismo error.
¿Me pregunto si alguien puede dar algunos consejos?
Los documentos dan un indicador justo de lo que se requiere. , sin embargo, requests
permítanos saltarnos algunos pasos:
Solo necesitas instalar los security
extras del paquete (gracias @admdrew por señalarlo)
$ pip install requests[security]
o instálelos directamente:
$ pip install pyopenssl ndg-httpsclient pyasn1
Las solicitudes se inyectarán automáticamente pyopenssl
enurllib3
Si estás en Ubuntu, puedes tener problemas al instalar pyopenssl
, necesitarás estas dependencias:
$ apt-get install libffi-dev libssl-dev
Si no puede actualizar su versión de Python a 2.7.9 y desea suprimir las advertencias,
puede degradar su versión de 'solicitudes' a 2.5.3:
pip install requests==2.5.3
Divulgación de corrección de errores / Advertencia introducida en 2.6.0