【问题标题】:Passing "%20" into a string to be encoded as a URL without it converting to a space?将“%20”传递到要编码为 URL 的字符串中而不将其转换为空格?
【发布时间】:2018-07-22 21:35:48
【问题描述】:

我有以下代码可以将数据发布到网站:https://play.golang.org/p/e1g0Nd1kDh0

当我在 Fiddler 中查看请求时,它显示为:

"jobTitle=Area Manager"

我想要它做的是发送字符串 exactly 就像它在代码中一样(即不将 %20 编码为空格),因为它似乎在另一边造成了一些混乱?在不添加空格的情况下,使用 Python 程序发出的相同请求可以正常工作。

我尝试通过加倍 % 符号来逃避它,但它似乎不起作用。任何帮助都会很棒。

谢谢。

【问题讨论】:

  • 确保在创建客户端时指定超时时间,例如客户端 := &http.Client { 超时:time.Second * 10, }

标签: url go encode urlencode sign


【解决方案1】:

如果您尝试在服务器端接收文字 %20,则对 % 符号进行编码。它编码为%25。所以你的 postdata 变成:

    data := "&jobTitle=Area%25%20Manager"

但如果发生这种情况,则可能是服务器端出现问题,postdata 被解码两次。

【讨论】:

    【解决方案2】:

    您还可以单独传递 URL 编码字符。在这种情况下 %25%32%30 = "%20"

    【讨论】:

    猜你喜欢
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2011-12-08
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多