32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
|
|
||
|
import requests
|
||
|
from requests import Session, exceptions, adapters
|
||
|
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
|
||
|
|
||
|
|
||
|
class PortalSAT(object):
|
||
|
URL_MAIN = 'https://portalcfdi.facturaelectronica.sat.gob.mx/'
|
||
|
HOST = 'cfdiau.sat.gob.mx'
|
||
|
BROWSER = 'Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0'
|
||
|
REFERER = 'https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0'
|
||
|
|
||
|
PORTAL = 'portalcfdi.facturaelectronica.sat.gob.mx'
|
||
|
URL_LOGIN = 'https://{}/nidp/app/login'.format(HOST)
|
||
|
URL_FORM = 'https://{}/nidp/app/login?sid=0&sid=0'.format(HOST)
|
||
|
URL_PORTAL = 'https://portalcfdi.facturaelectronica.sat.gob.mx/'
|
||
|
URL_CONTROL = 'https://cfdicontribuyentes.accesscontrol.windows.net/v2/wsfederation'
|
||
|
URL_CONSULTA = URL_PORTAL + 'Consulta.aspx'
|
||
|
URL_RECEPTOR = URL_PORTAL + 'ConsultaReceptor.aspx'
|
||
|
URL_EMISOR = URL_PORTAL + 'ConsultaEmisor.aspx'
|
||
|
URL_LOGOUT = URL_PORTAL + 'logout.aspx?salir=y'
|
||
|
|
||
|
def __init__(self, cert, cfdi_uuid):
|
||
|
self._cert = cert
|
||
|
self._uuid = cfdi_uuid
|
||
|
self.error = ''
|
||
|
self.is_connect = False
|
||
|
self._session = Session()
|
||
|
a = adapters.HTTPAdapter(pool_connections=512, pool_maxsize=512, max_retries=5)
|
||
|
self._session.mount('https://', a)
|
||
|
|