登录
首页 >  Golang >  Go问答

将 URL 传递为 URL 参数

来源:stackoverflow

时间:2024-02-14 10:09:23 414浏览 收藏

本篇文章给大家分享《将 URL 传递为 URL 参数》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我有一条用路由参数编写的路由

/属性/配置/:名称/:值

当我使用 URL 作为这样的值进行调用时

/properties/configurations/app.url/http://test.test

我猜它没有击中我的狂欢控制器,因为斜线混淆了它。我在使用encodeURIComponent()调用Javascript请求时尝试过,因此它删除了斜杠和其他有问题的字符,但它仍然没有击中控制器并给出404。

问题是它在公共 API 中使用,我无法更改它以在正文中传递此数据,所以我试图弄清楚如何让 revel 识别该模式并正确地将值放入 {name } 和 {值}


正确答案


您只需要使用转义函数之一:

package main
import "net/url"

func main() {
   s := "http://test.test"
   {
      t := url.PathEscape(s)
      println(t == "http:%2F%2Ftest.test")
   }
   {
      t := url.QueryEscape(s)
      println(t == "http%3A%2F%2Ftest.test")
   }
}

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《将 URL 传递为 URL 参数》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>