Как я могу подключиться к серверу Microsoft Dynamics CRM с помощью Python? - PullRequest
2 голосов
/ 21 июля 2010

Служба Microsoft Dynamics CRM использует проверку подлинности NTLM, что затрудняет подключение к ней из процесса python с использованием suds.Я ищу пример кода, который будет:

  1. Отправлять и получать ответ от RetrieveAttributeRequest
  2. Отправлять и получать ответ от Execute запроса.

Это должно использовать Python 2.6 или Python 2.7, а не Python 3. У меня уже есть работающая реализация, использующая для этого curl, но в лучшем случае она ненадежная, и как часть другой работыВ этом инструменте я хотел бы очистить его и запустить с помощью python / suds.

Ответы [ 2 ]

5 голосов
/ 15 августа 2013

Я знаю, что уже немного поздно, но, надеюсь, это кому-нибудь поможет.

NTLM аутентификация была добавлена ​​к suds в версии 0.3.8 .

from suds.transport.https import WindowsHttpAuthenticated
from suds.client import Client

url = 'http://crmurl/XRMServices/2011/Discovery.svc?wsdl'
ntlm = WindowsHttpAuthenticated(username='DOMAIN\username', password='password')
client = Client(url, transport=ntlm)
0 голосов
/ 30 сентября 2010

Не знаю, поможет ли это вам, но я использовал PycURL для прохождения через прокси NTLM.

Вот фрагмент кода:

    c = Curl()

    c.setopt(URL, 'http://www.somesite.com')
    c.setopt(FOLLOWLOCATION, 1)           # follow redirects
    c.setopt(MAXREDIRS, 5)              # max redirects
    c.setopt(PROXY, 'proxy.somesite.com')
    c.setopt(PROXYUSERPWD, 'DOMAIN/USER:PASSWORD')
    c.setopt(PROXYAUTH, HTTPAUTH_NTLM)    # use NTLM

    c.perform()

Вот документация для объекта Curl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...