go 的一个问题,不知是坑不是坑

client:=&http.Client{}
    req,err:=http.NewRequest("POST",url,bytes.NewReader(raw))
    req.Header.Add("content-Type","application/json")
    req.Header.Set("authtoken",auth_token)

这样的代码,按理由,对方应该获取key是authtoken 就行了,可是不行,非得key是Authtoken 才能获取到值,
可对方就得是authtoken 有解决方法吗?大神们

共 4 个回复


ZhangTingkuo

Http header的Key有小写的么,标准就是大写字母开头的。

# 0

fighting

个推的就不按标准来 非得是authtoken 有解决方法吗

# 1

fanyang

服務端用req.Header.Get(“authtoken”)是可以获取到值的,不区分大小写

# 2

coldwater

func (h MIMEHeader) Set(key, value string) {
    h[CanonicalMIMEHeaderKey(key)] = []string{value}
}

这是set的实现,绕过去不就好了

# 3