2016-11-03 56 views
0

私の目標は、Python 3.5.2で要求ライブラリ(2.11.1)をSSPIのNTLM経由で使用するクライアントを認証して、ユーザーが自分のドメイン資格情報(PCへのログインに使用)を手動で入力する必要がないようにすることです。Pythonリクエストを使用してNTLM SSPI認証を実行する方法は?

私は私のために以下の可能性が、どれも仕事を見つけました:

インポート要求requests_ntlm輸入HttpNtlmAuth、HttpNtlmSspiAuth

リクエストから :

  • HttpNtlmSspiAuthは要求で例外を引き起こします。 get(site_url、auth = HttpNtlmSspiAuth())



  • そしてrequests-negotiate-sspiも要求で例外をトリガ:

    インポート要求 requests_negotiate_sspiインポートからHttpNegotiateAuth

    R = requests.get( 'https://iis.contoso.com'、AUTH = HttpNegotiateAuth())


私はそうしています間違ったメーリング?

+0

あなたが行っていることを教えてくれませんでした。 "私のために働かない"という質問は問題ではありません。 –

答えて

2

私はそれを自分で考え出しました。

WindowsのSSPIとやり取りするこのcodeとこのmoduleは、リクエストとPython 3に適合しました。あなたはそれを得ることができるhere

+0

そのコードを投稿できますか? – user1717828

+0

ここにアクセスできます:https://drive.google.com/drive/folders/0B3IIoC4r3p1COHhrZ1pWdUNmclU?usp=sharing – R01k

+0

win32apiに依存しているため、Windowsのみです。 – R01k

1

パッケージrequests-negotiate-sspiが私のために働きます。

私はおそらくPOで同じ問題を抱えていましたが、POのソリューションを試してPOのコードを私のものに統合するのは面倒です。そしてGoogleは私を助けました。誰でもsspi.py ValueError: year 30828 is out of rangeから発生した同じ例外が発生した場合は、requests-negotiate-sspiのpython 3.6の既知の問題です。ここをクリックしてください:Github-Issue

私はpython 3.4で新しいconda環境を作成することでこれを解決しました。その後、いくつかの依存関係だけでなく、requests-negotiate-sspi、ブーム、すべての作品を再インストールします。

関連する問題