https://github.com/vadimi/go-http-ntlm
NTLM authenticated http request for Go
https://github.com/vadimi/go-http-ntlm
go golang ntlm
Last synced: 5 months ago
JSON representation
NTLM authenticated http request for Go
- Host: GitHub
- URL: https://github.com/vadimi/go-http-ntlm
- Owner: vadimi
- License: mit
- Created: 2016-03-28T03:20:53.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-11-11T22:09:19.000Z (over 1 year ago)
- Last Synced: 2024-11-11T23:19:16.907Z (over 1 year ago)
- Topics: go, golang, ntlm
- Language: Go
- Size: 21.5 KB
- Stars: 54
- Watchers: 2
- Forks: 23
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# go-http-ntlm
go-http-ntlm is a Go package that contains NTLM transport (`http.RoundTripper` implementation) for `http.Client` to make NTLM auth protected http requests.
## Usage example
```go
package main
import (
"io/ioutil"
"log"
"net/http"
"strings"
"github.com/vadimi/go-http-ntlm/v2"
)
func main() {
// configure http client
client := http.Client{
Transport: &httpntlm.NtlmTransport{
Domain: "mydomain",
User: "testuser",
Password: "fish",
// Configure RoundTripper if necessary, otherwise DefaultTransport is used
RoundTripper: &http.Transport{
// provide tls config
TLSClientConfig: &tls.Config{},
// other properties RoundTripper, see http.DefaultTransport
},
},
}
req, err := http.NewRequest("GET", "http://server/ntlm-auth-resource", strings.NewReader(""))
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer func() {
err := resp.Body.Close()
if err != nil {
log.Fatal(err)
}
}()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
log.Println(body)
}
```