Hace un tiempo tuve un error al hacer una llamada a una dirección https en pyhon.
Después de mucha busqueda encontre la solución, tenemos que llamar a una librería de ssl y hacer el siguiente llamado.
import urllib.request as request import os, ssl if (not os.environ.get('PYTHONHTTPSVERIFY', '') and getattr(ssl, '_create_unverified_context', None)): ssl._create_default_https_context = ssl._create_unverified_context
Con esto podemos hacer llamadas a https sin que aparezca un error
dejó código de prueba
import time import urllib.request as request import os, ssl if (not os.environ.get('PYTHONHTTPSVERIFY', '') and getattr(ssl, '_create_unverified_context', None)): ssl._create_default_https_context = ssl._create_unverified_context class InternetOk(): def Internet(self): siInternet = False while not siInternet: try : web = "https://www.google.com/" data = request.urlopen(web) siInternet = True break except: siInternet = False time.sleep(20) return siInternet # inter = InternetOk() # print (inter.Internet())
Con este código verifica si hay internet haciendo una llamada a google solo hay que descomentar las últimas líneas de código, este lo usamos para nuestras publicación de bot con python.