2

Microsoft Dynamics CRM サービスは NTLM 認証を使用するため、suds を使用して Python プロセスからサービスに接続するのはやや複雑になります。次のようなコード サンプルを探しています。

  1. からの応答を送受信するRetrieveAttributeRequest
  2. Executeリクエストからのレスポンスを送受信します。

これには、Python 3 ではなく、Python 2.6 または Python 2.7 を使用する必要があります。これを行うために curl を使用する実用的な実装が既にありますが、最良の場合でも不安定であり、このツールで行っている他の作業の一部として、それをクリーンアップして、python/suds を使用して実行するのが好きです。

4

2 に答える 2

5

私はこれが少し遅れていることを知っていますが、誰かを助けることを願っています.

NTLM 認証は、バージョン 0.3.8で suds に追加されました。

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)
于 2013-08-15T00:50:58.330 に答える
0

これが役に立つかどうかはわかりませんが、私は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

于 2010-09-30T07:11:40.413 に答える