前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang报错:net/http: invalid header field value "Basic XXX

golang报错:net/http: invalid header field value "Basic XXX

作者头像
碧海长天
发布2021-10-21 16:07:32
1.7K0
发布2021-10-21 16:07:32
举报
文章被收录于专栏:golang探索者

golang报错:net/http: invalid header field value "Basic XXX

2019-4-11

昨天被这个问题困扰了一天,今天终于找到问题了。

先说一下我这里的流程:

1.从本地文件中读取一个 base64加密过的字符串。然后添加到header上。

代码语言:javascript
复制
auth := getAuth()
//auth 为 Basic XXXXXX  
req.Header.Add("authorization", auth)

但是当执行 client.Do(req)时,会报错:如下图

经过一番"排查",发现当从文件读取字符串时,字符串往往后面会附带一个空行。也就是报错信息后面那些\x00\x00\x00\x00出现的原因了。

解决方法:

代码语言:javascript
复制
str, err := base64.StdEncoding.DecodeString(dataStr)
realStr :=strings.TrimSpace(string(str))
str = []byte(realStr)
dataStr = base64.StdEncoding.EncodeToString(str)

因为我的原信息时base64的所以我这里需要先base64decode, 然后去空行,然后再base64endoe。

如果你的原信息本身就是字符串,可以尝试直接去空行。

然后,问题解决~

完。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • golang报错:net/http: invalid header field value "Basic XXX
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档