gpt4 book ai didi

authentication - Golang HTTP 基本认证

转载 作者:IT王子 更新时间:2023-10-29 01:01:48 24 4
gpt4 key购买 nike

我是 golang 的新手。

我正在尝试使用基本身份验证调用 JIRA rest api,但出现以下错误

&{401 Unauthorized 401 HTTP/2.0 2 0
map[X-Content-Type-Options:[nosniff]
Set-Cookie:[JSESSIONID=E08620; Path=/;
Secure; HttpOnly studio.crowd.tokenkey="";
Domain=.test.atlassian.net; Expires=Thu, 01-Jan-1970 00:00:10
GMT; Path=/; Secure; HttpOnly studio.crowd.tokenkey="";
Domain=.test.atlassian.net; Expires=Thu, 01-Jan-1970 00:00:10
GMT; Path=/; Secure; HttpOnly] Server:[nginx] Date:[Mon, 09 Jan 2017
05:18:29 GMT] Content-Type:[text/html;charset=UTF-8]
X-Arequestid:[648x20759x1] X-Seraph-Loginreason:[AUTHENTICATED_FAILED]
Www-Authenticate:[OAuth
realm="https%3A%2F%2Ftest.atlassian.net"]] {0xc42039b900} -1 []
false false map[] 0xc4200ce0f0 0xc4202b0420}

我的代码是

package main

import (
"fmt"
"log"
"net/http"
)

const (
USERNAME = ""
PASSWORD = ""
URL = "https://test.atlassian.net/rest/api/2/issue/SLUB-7194"
)

func main() {
req, err := http.NewRequest("GET", URL, nil)
req.SetBasicAuth(USERNAME, PASSWORD)

req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")

cli := &http.Client{}
resp, err := cli.Do(req)

if err != nil {
log.Fatal(err)
}

fmt.Println(resp);
}

我做错了什么吗?

提前致谢

最佳答案

Netflix-Skunkworks/go-jira/cli.go 所示,您可能需要先登录,然后请求您的 jira 票证。

func (c *Cli) makeRequest(req *http.Request) (resp *http.Response, err error) {
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")

if source, ok := c.opts["password-source"]; ok && !strings.HasSuffix(req.URL.Path, "/rest/auth/1/session") {
user, _ := c.opts["user"].(string)
password := c.GetPass(user)
if password == "" {
log.Warning("No password for user %s in %s, please run the 'login' command first", user, source)
} else {
req.SetBasicAuth(user, password)
}
}

关于authentication - Golang HTTP 基本认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41541511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com