在 golang 中包含 %2F http.NewRequest

Include %2F in golang http.NewRequest

当我尝试在 http.NewRequest 中使用 %2F 来包含“/”时,它会在调用 url.Parse() 时将其转换回“/”。有什么办法可以防止这种情况发生吗?我尝试将百分比转换为 %25,但仍然无效。

你可以在这里看到: http://play.golang.org/p/YOnktREbbf

这是Go标准库设计上的缺陷。它已被确认 (issue 3659),但出于向后兼容性的原因,他们决定不修复它。

虽然不好玩,但最好的方法是使用 opaque 构建一个 URL。您可以找到文档 here.