当前位置: 首页 > 面试题库 >

编码/解码URL

王骏
2023-03-14
问题内容

在Go中编码和解码整个URL的推荐方法是什么?我知道的方法url.QueryEscapeurl.QueryUnescape,但他们似乎并没有被正是我期待的。具体来说,我正在寻找JavaScript
encodeURIComponent和之类的方法decodeURIComponent

谢谢。


问题答案:

您可以使用net /
url
模块进行所有想要的URL编码。它不会分解URL各个部分的单独编码功能,您必须让它构造整个URL。斜视了源代码后,我认为它做得很好并且符合标准。

这是一个示例(游乐场链接)

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基本组成,哪些字符需要编码,Python实现编码与解码,Python 的标准库urllib.parse模块中提供了用来编码和解码的方法,分别是 urlencode() 与 unquote() 方法。当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式)。URL 编码的原则是使用安全字符去表示那些不安全的字符。 安全字符,指的是没有特殊用途或者特殊意义的字符。 URL基本组成 URL 是由一些简单的组件构成,比如协议、域名、端

  • 问题内容: 我使用了接受此问题的解决方案,例如在 /index.php?id=3中通过id进行加密。问题是我无法将加密的值作为url发送,例如 /index.php?id=dsf13f3343f23/23=。因为有时它的网址中会有奇怪的字符,例如请注意最后的符号 问题答案: URL中传递的值中的 怪异字符 应使用 )进行转义。 例如,以下代码部分: 会给你: 可以正常工作,作为URL参数。 而且,

  • 问题内容: 这是我的代码,我不明白为什么解码功能不起作用。 请少有洞察力会很棒。 它给了我:[解码错误-输出不是utf-8] [解码错误-输出不是utf-8] 问题答案: 返回 最大 长度。 此长度对于调整缓冲区大小很有用,但是不会写入缓冲区的一部分,因此将不是有效的UTF-8。 您只需要使用函数返回的实际写入长度即可。

  • Uragano默认采用MessagePack编解码,你也可以通过实现ICodec接口自定义编解码 自定义编解码 public class MessagePackCodec : ICodec { public MessagePackCodec() { CompositeResolver.RegisterAndSetAsDefault(N

  • 问题内容: 编码URL字符串以使其符合rfc2396并解码与rfc2396兼容的字符串(例如,将%20替换为空格字符)的最佳方法是什么? 编辑:URLEncoder的和URLDecoder类做 不 编码/解码RFC2396兼容网址,它们编码到一个MIME类型application / x-WWW窗体-urlencoded的其用于编码HTML表单参数数据。 问题答案: 使用URI类,如下所示: 或者

  • 编码是将字符,数字和其他特殊字符等字符序列放入专用格式以进行有效传输的过程。 解码是将编码格式转换回原始字符序列的过程。它与我们通常误解的加密完全不同。编码和解码用于数据通信和存储。编码不应用于传输敏感信息。 URL编码 URL只能使用ASCII字符集通过Internet发送,并且在URL包含除ASCII字符之外的特殊字符的情况下,需要对其进行编码。网址不包含空格,并替换为加号(+)或。 ASCI