
golang 连接rabbitmq时,密码含有特殊符号的处理方式
AI-摘要
GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本文最后更新于 2023-10-22,文章内容可能已经过时。
记录一下golang 连接rabbitmq时,密码含有特殊符号的处理方式
golang
在使用 rabbitmq
的时候,连接的方式如下:
package main
import (
"fmt"
"github.com/streadway/amqp"
)
var mqurl string
func main() {
mqurl = fmt.Sprintf("amqp://%s:%s@%s:%s/",
RabbitmqSetting.UserName,
RabbitmqSetting.Password,
RabbitmqSetting.Host,
RabbitmqSetting.Port,
)
conn, err = amqp.Dial(mqurl)
if err != nil {
log.Fatalf("连接失败,错误信息如下:,%s", err)
}
}
但是上述方式,会出现无法连接,观察报错信息发现,会自动把密码中的 #
给进行截断解析
所以,需要对密码使用 url.QueryEscape
进行单独处理,处理如下:
url.QueryEscape(xxx)
处理过后的代码如下:
package main
import (
"fmt"
"github.com/streadway/amqp"
)
var mqurl string
func main() {
mqurl = fmt.Sprintf("amqp://%s:%s@%s:%s/",
RabbitmqSetting.UserName,
url.QueryEscape(RabbitmqSetting.Password),
RabbitmqSetting.Host,
RabbitmqSetting.Port,
)
conn, err = amqp.Dial(mqurl)
if err != nil {
log.Fatalf("连接失败,错误信息如下:,%s", err)
}
}
至此问题解决。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果