Go HTTP NTLM リクエストでの Windows システム認証情報: Go-OLE を使用した解決策
Go HTTP リクエストで NTLM 認証を実行するには、 Windows ユーザーのシステム資格情報を確認するには、次のアプローチを検討してください。
Go の COM 相互運用性のサポートを活用すると、WinHTTPRequest オブジェクトを利用して NTLM 認証による HTTP 接続を確立できます。 go-ole パッケージを利用することで、これは次のように実現できます。
<code class="go">package main import ( "fmt" ole "github.com/go-ole/go-ole" "github.com/go-ole/go-ole/oleutil" ) func main() { ole.CoInitialize(0) defer ole.CoUninitialize() // Create a WinHTTPRequest object unknown, _ := oleutil.CreateObject("WinHTTP.WinHTTPRequest.5.1") request, _ := unknown.QueryInterface(ole.IID_IDispatch) // Set the auto login policy to use system credentials oleutil.CallMethod(request, "SetAutoLogonPolicy", 0) // Open the request with the desired URL oleutil.CallMethod(request, "Open", "GET", "http://example.com", false) // Send the request oleutil.CallMethod(request, "Send") // Retrieve the response text resp := oleutil.MustGetProperty(request, "ResponseText") // Print the response fmt.Println(resp.ToString()) }</code>
Go-ole パッケージを利用して WinHTTPRequest オブジェクトと対話することにより、このコード スニペットは、ユーザー名やパスワードを手動で指定する必要がなく、Windows ユーザーのシステム資格情報を取得できます。
以上がWindows システム資格情報を使用して Go HTTP NTLM リクエストを認証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。