【问题标题】:Is there any example and usage of url.QueryEscape ? for golang有没有 url.QueryEscape 的例子和用法?对于 golang
【发布时间】:2014-01-04 13:28:27
【问题描述】:

如何理解和使用Go语言中的url.QueryEscape

【问题讨论】:

    标签: go


    【解决方案1】:

    要了解url.QueryEscape的用法,首先需要了解url query string是什么。

    查询字符串是 URL 的一部分,其中包含可以传递给 Web 应用程序的数据。这个数据需要编码,这个编码是使用url.QueryEscape完成的。它执行通常也称为URL encoding 的操作。

    示例

    假设我们有网页:

    http://mywebpage.com/thumbify
    

    我们想将图像 URL http://images.com/cat.png 传递给这个 Web 应用程序。那么这个 url 需要看起来像这样:

    http://mywebpage.com/thumbify?image=http%3A%2F%2Fimages.com%2Fcat.png
    

    在 Go 代码中,它看起来像这样:

    package main
    
    import (
        "fmt"
        "net/url"
    )
    
    func main() {
        webpage := "http://mywebpage.com/thumbify"
        image := "http://images.com/cat.png"
        fmt.Println( webpage + "?image=" + url.QueryEscape(image))
    }
    

    【讨论】:

    • 为什么要这样做,而不是直接使用图片url?
    • 它是标准的一部分并且是必需的。 url 中不允许使用某些字符(例如空格),并且某些字符在 url 中具有特殊含义(例如 =、# 或 &)。如果没有编码,我们不能说 & 是数据的一部分还是分隔符。
    猜你喜欢
    • 2011-01-10
    • 2017-08-15
    • 2021-10-19
    • 1970-01-01
    • 2014-02-25
    • 2017-03-08
    • 2013-11-26
    • 2015-06-20
    • 1970-01-01
    相关资源
    最近更新 更多