You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.0 KiB

# -*- coding: utf-8 -*-
# © 2016 Danimar Ribeiro, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import requests
import suds.client
import suds_requests
def get_authenticated_client(base_url, cert, key):
cache_location = "/tmp/suds"
cache = suds.cache.DocumentCache(location=cache_location)
session = requests.Session()
session.cert = (cert, key)
# Testa sessao https
r = requests.get(base_url, cert=(cert, key))
if r.status_code == 403:
print("ERROR: Falha na conexão utilizando o certificado digital e senha infomados. Verifique a validade do certificado")
exit()
return suds.client.Client(
base_url, cache=cache, transport=suds_requests.RequestsTransport(session)
)
def get_client(base_url):
cache_location = "/tmp/suds"
cache = suds.cache.DocumentCache(location=cache_location)
session = requests.Session()
return suds.client.Client(
base_url, cache=cache, transport=suds_requests.RequestsTransport(session)
)