为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 URL 中转义句点字符

如何在 URL 中转义句点字符

Go
慕标5832272 2022-06-01 17:26:04
我有一个网址,比如说http://someurl.com?someparam=my.dot.param我知道句点(“.” - 符号)是一个有效的 HTTP 查询符号,但由于某些原因,我需要用“%2E”对其进行转义我想使用像EscapedPath()这样的东西,但是正如我之前提到的,句点(“.” - 符号)是一个有效的 HTTP 查询符号,所以我不能这样做。我做了什么。1)我用一些常数(如“_remove_this_dot_”)删除字符串“ my.dot.param ”中的所有句点,所以我得到“ my_remove_this_dot_dot_remove_this_dot_param ”2) 在我获得最终 URL 后:u.RawQuery = q.Encode()retURL := u.String()我愿意result :=  strings.ReplaceAll(retURL, "_remove_this_dot_", "%2E")一切正常,但代码看起来很糟糕 - 有什么方法可以让它正确吗?也许使用标准库?
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

有时需要糟糕的代码来解决网络对等点中的错误。


问题中的一种更简单的方法是将.创建原始查询的原始查询中的 替换为包括..


q.Set("someparam", "my.dot.param")

u.RawQuery = strings.ReplaceAll(q.Encode(), ".", "%2E")

result := u.String()


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信