Windows上のPythonから自動NTLM認証を使用するにはどうすればよいですか?Windows上のPythonを使用した自動NTLM
パスワードをハードコーディングせずに、WindowsからTFS REST APIにアクセスできるようにしたいのですが、Webブラウザ(firefoxのnetwork.automatic-ntlm-auth.trusted-urisなど)と同じです。
Windows上のPythonから自動NTLM認証を使用するにはどうすればよいですか?Windows上のPythonを使用した自動NTLM
パスワードをハードコーディングせずに、WindowsからTFS REST APIにアクセスできるようにしたいのですが、Webブラウザ(firefoxのnetwork.automatic-ntlm-auth.trusted-urisなど)と同じです。
私はので、私のために素晴らしい作品this answerが見つかりました:
ネイティブ認証を処理するためにWinHTTP.WinHTTPRequest.5.1 COMオブジェクトを使用しています何:
import win32com.client
URL = 'http://bigcorp/tfs/page.aspx'
COM_OBJ = win32com.client.Dispatch('WinHTTP.WinHTTPRequest.5.1')
COM_OBJ.SetAutoLogonPolicy(0)
COM_OBJ.Open('GET', URL, False)
COM_OBJ.Send()
print(COM_OBJ.ResponseText)
NTLM資格情報は、対話型ログオン処理中に取得されたデータに基づいており、パスワードの一方向ハッシュを含みます。あなたは信任状を提供する必要があります。
Pythonには、HTTP NTLM認証を可能にするrequests_ntlmライブラリがあります。
あなたは、TFSのREST APIにアクセスするには、この記事を参照することができます。 Python Script to Access Team Foundation Server (TFS) Rest API
あなたはTFS 2017またはVSTSを使用している場合、あなたはRESTリクエストと一緒に基本認証HTTPヘッダーにPersonal Access Tokenを使用しようとすることができます。
ありがとう@アンディーMSFTしかし、あなたが与えた例では、私が避けようとしているのはユーザー名とパスワードがハードコードされています。 – liorda
@liorda NTLM資格情報は、対話型ログオンプロセス中に取得されたデータに基づいており、パスワードの一方向ハッシュを含みます。あなたは信任状を提供する必要があります。 –
TFSウェブページにアクセスする際、Firefoxがどのように認証されますか?明示的にログインしたり、パスワードを入力したことはありません。 – liorda