Я хотел бы заменить ток приложения (плохо арестованный и неработоспособный) ОСНОВАННЫЙ НА ЗАВИХРЕНИИ (ВИХРЕВАЯ базирующаяся командная строка!) клиент SOAP с пеной или soap.py. Проблема, мы должны связаться с сервисом CRM MS и поэтому должны использовать NTLM. По ряду причин прокси NTLM является определенной болью для использования, таким образом, я изучаю python-ntlm для оказания той поддержки.
Пена или soap.py могут быть сделаны использовать этот метод аутентификации? Если так, как? В противном случае любые другие предложения были бы фантастическими.
Править
Как отмечено ниже, пена уже поддерживает python-ntlm из поля.
Suds был исправлен , чтобы поддерживать его, начиная с версии 0.3.8.
Источники python-suds-0.3.9 \ suds \ transport \ https.py говорят:
class WindowsHttpAuthenticated(HttpAuthenticated):
"""
Provides Windows (NTLM) http authentication.
@ivar pm: The password manager.
@ivar handler: The authentication handler.
"""
def u2handlers(self):
# try to import ntlm support
try:
from ntlm import HTTPNtlmAuthHandler
except ImportError:
raise Exception("Cannot import python-ntlm module")
handlers = HttpTransport.u2handlers(self)
handlers.append(HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(self.pm))
return handlers
Попробуйте использовать следующий фрагмент, как описано здесь :
from suds.transport.https import WindowsHttpAuthenticated
ntlm = WindowsHttpAuthenticated(username='xx', password='xx')
client = Client(url, transport=ntlm)