【问题标题】:Http POST request url contains '['Http POST 请求 url 包含 '['
【发布时间】:2011-04-30 01:11:54
【问题描述】:

我正在使用 http post 请求处理 SharePoint。 我的网址包含“[”,所以我遇到了一些异常。

如果 url 包含“[”或“]”字符,有人知道如何发送 Post 或 Get 请求吗?

【问题讨论】:

    标签: http post get


    【解决方案1】:

    对网址中的括号进行编码,使[ 变为%5B] 变为%5D
    HTML URL Encoding Reference

    如果您从 (.NET) 代码生成 URL,请使用 HttpServerUtility.UrlEncode()

    string encodedUrl = "http://example.com/awesome.aspx?title="
                      + HttpServerUtility.UrlEncode("Super & Delicious Program [v1]");
    
    // "http://example.com/awesome.aspx?title=Super+%26+Delicious+Program+%5Bv1%5D"
    

    JavaScript 中(大致)等效的方法是 escape()

    【讨论】:

      【解决方案2】:

      编码方括号

      [ == %5B
      ] == %5D
      

      【讨论】:

        【解决方案3】:

        如果您使用的是 PHP,请尝试htmlspecialchars。解码使用htmlspecialchars_decode

        【讨论】:

        • 我认为 Sharepoint 排除了 PHP 的使用。在任何情况下,对于 URL,您都可以使用 urlencode / rawurlencode。
        • 我想他可能正在使用 PHP 来针对共享点服务器发布帖子......但他并没有说他是他的,所以这似乎不太可能。 Rawurlencode 通常是最好的方法。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-02
        • 2021-03-31
        • 2012-07-10
        相关资源
        最近更新 更多