dongxianchu3541 2018-03-09 09:46
浏览 31

如何将网址编码的网址作为参数发送给多路复用器?

I have this code

func main() {
  router := mux.NewRouter()
  router.HandleFunc("/", rootHandler)
  router.HandleFunc("/xyz/{url}", urlHandler)
  http.Handle("/", router)

  log.Fatal(http.ListenAndServe(":8080", nil))
}

With this url: http://localhost:8080/xyz/https%3A%2F%2Fabc.no%2FJZ2las1o3Ct mux will redirect (301) to http://localhost:8080/xyz/https:/abc.no/JZ2las1o3Ct

If I change %2F%2F to only one (%2F) I do not get redirected and the escaped characters stay escaped.

I have found references to router.SkipClean(true) but it makes no difference in how Mux handles this.

What I want is that the mux variable url should hold https%3A%2F%2Fabc.no%2FJZ2las1o3Ct

  • 写回答

1条回答 默认 最新

  • doufei8691 2018-03-09 10:06
    关注

    You can use QueryUnescape for removing the spaces and other url coded paramters. Please look for the function

    https://golang.org/pkg/net/url/#QueryUnescape

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题