Коллеги, добрый день. Уже неделю пытаюсь отправить запрос в rosreestr. Никакого описания, никаких мануалов нет. Методом тыка дошёл до такого кода. Подскажите плиз кто нить имел дело с этим сайтом:?
import os
from collections import defaultdict
from operator import itemgetter
from suds.client import Client
from suds.transport.https import HttpAuthenticated
from suds import WebFault
from suds import null
from suds.plugin import *
import socket
import ssl
import logging
import base64
print(ssl.OPENSSL_VERSION)
class CustomTransport(HttpAuthenticated):
NEW_CERT = '/var/opt/gost-engine/test/cert.pem'
NEW_KEY = '/var/opt/gost-engine/test/key.pem'
ca_certs = '/var/opt/gost-engine/test/cacert.pem'
def u2handlers(self):
handlers = HttpAuthenticated.u2handlers(self)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = ssl.wrap_socket(s,
certfile=self.NEW_CERT,
keyfile=self.NEW_KEY,
ciphers='ALL:aNULL:eNULL')
ctx = ssl_sock.context
ctx.load_default_certs(purpose=ssl.Purpose.SERVER_AUTH)
print(ctx.load_verify_locations(cafile=self.ca_certs))
print(ctx.get_ca_certs(binary_form=False))
handlers.append(u2.HTTPSHandler(context=ctx))
return handlers
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').setLevel(logging.DEBUG)
url = 'https://portal.rosreestr.ru:4433/cxf/External?wsdl'
location = 'https://portal.rosreestr.ru:4433/cxf/External'
c = Client(url, location=location, transport=CustomTransport())