gpt4 book ai didi

url - 编码/解码 URL

转载 作者:IT老高 更新时间:2023-10-28 12:58:04 25 4
gpt4 key购买 nike

在 Go 中编码和解码整个 URL 的推荐方法是什么?我知道 url.QueryEscapeurl.QueryUnescape 方法,但它们似乎并不是我想要的。具体来说,我正在寻找 JavaScript 的 encodeURIComponentdecodeURIComponent 之类的方法。

最佳答案

您可以使用 net/url 进行所有您想要的 URL 编码。模块。它不会破坏 URL 各部分的单独编码功能,您必须让它构建整个 URL。看了一眼源代码,我认为它做得非常好,而且符合标准。

这里是一个例子(playground link)

package main

import (
"fmt"
"net/url"
)

func main() {

Url, err := url.Parse("http://www.example.com")
if err != nil {
panic("boom")
}

Url.Path += "/some/path/or/other_with_funny_characters?_or_not/"
parameters := url.Values{}
parameters.Add("hello", "42")
parameters.Add("hello", "54")
parameters.Add("vegetable", "potato")
Url.RawQuery = parameters.Encode()

fmt.Printf("Encoded URL is %q\n", Url.String())
}

哪些打印-

Encoded URL is "http://www.example.com/some/path/or/other_with_funny_characters%3F_or_not/?vegetable=potato&hello=42&hello=54"

关于url - 编码/解码 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com