50 lines
1.6 KiB
Markdown
50 lines
1.6 KiB
Markdown
# go-ntlm-proxy-auth
|
|
|
|
[](https://opensource.org/licenses/MIT)
|
|
[](https://godoc.org/github.com/launchdarkly/go-ntlm-proxy-auth)
|
|
[](https://circleci.com/gh/launchdarkly/go-ntlm-proxy-auth)
|
|
|
|
With this package, you can connect to http/https servers protected by an NTLM proxy in Golang.
|
|
|
|
This is a fork of https://github.com/launchdarkly/go-ntlm-proxy-auth to enable extra debugging
|
|
|
|
## Example: NewNTLMProxyDialContext
|
|
|
|
```golang
|
|
// create a dialer
|
|
dialer := &net.Dialer{
|
|
Timeout: 30 * time.Second,
|
|
KeepAlive: 30 * time.Second,
|
|
}
|
|
|
|
// wrap dial context with NTLM
|
|
ntlmDialContext := ntlm.NewNTLMProxyDialContext(dialer, proxyURL, "user", "password", "domain", nil)
|
|
|
|
// create a http(s) client
|
|
client := &http.Client{
|
|
Transport: &http.Transport{
|
|
Proxy: nil, // !!! IMPORTANT, do not set proxy here !!!
|
|
DialContext: ntlmDialContext,
|
|
},
|
|
}
|
|
```
|
|
## Example: WrapDialContext (deprecated - does not support HTTPS proxy URL)
|
|
|
|
```golang
|
|
// create a dialer
|
|
dialer := &net.Dialer{
|
|
Timeout: 30 * time.Second,
|
|
KeepAlive: 30 * time.Second,
|
|
}
|
|
|
|
// wrap dial context with NTLM
|
|
ntlmDialContext := ntlm.WrapDialContext(dialer.DialContext, "proxyAddr", "user", "password", "domain")
|
|
|
|
// create a http(s) client
|
|
client := &http.Client{
|
|
Transport: &http.Transport{
|
|
Proxy: nil, // !!! IMPORTANT, do not set proxy here !!!
|
|
DialContext: ntlmDialContext,
|
|
},
|
|
}
|
|
``` |