对所有查询字符串参数进行 urlencode

发布于 2024-07-27 16:27:48 字数 250 浏览 6 评论 0原文

有没有一种方法可以对整个 URL 查询字符串进行 url 编码,而无需尝试对每个单独的查询字符串参数进行 urlen 编码。 现在我必须用这样的东西重建查询字符串:

foreach (string x in Page.Request.QueryString.Keys)
{
 sQueryString += x + "=" + Server.UrlEncode(Request.Params.Get(x)) + "&";
}

Is there a way to url encode the entire URL querystring without trying to urlencode each individual querystring parameters. Right now I'm having to rebuild the querystring with something like this:

foreach (string x in Page.Request.QueryString.Keys)
{
 sQueryString += x + "=" + Server.UrlEncode(Request.Params.Get(x)) + "&";
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冷夜 2024-08-03 16:27:48

您所要做的就是获取以下值:

Page.Request.Url.Query

请参阅:
<代码>

    Uri baseUri = new Uri("http://www.contoso.com/catalog/shownew.htm?date=today&<a>=<b>;");
    string queryString = baseUri.Query;

queryString 参数将返回 ?date=today&%3Ca%3E=%3Cb%3E

另一项编辑 - 来自 MSDN

查询属性包含任何查询
URI 中包含的信息。 询问
信息与路径分离
问号(?)的信息和
继续到 URI 的末尾。 这
查询返回的信息包括
前导问号。

查询信息被转义
默认情况下根据 RFC 2396。 如果
国际资源标识符
(IRIs) 或国际化域名
名称 (IDN) 解析已启用,
查询信息根据转义
符合 RFC 3986 和 RFC 3987。

All you should to do is to get the following value:

Page.Request.Url.Query

See:

    Uri baseUri = new Uri("http://www.contoso.com/catalog/shownew.htm?date=today&<a>=<b>;");
    string queryString = baseUri.Query;

The queryString parameter will return ?date=today&%3Ca%3E=%3Cb%3E.

One more edit - from the MSDN:

The Query property contains any query
information included in the URI. Query
information is separated from the path
information by a question mark (?) and
continues to the end of the URI. The
query information returned includes
the leading question mark.

The query information is escaped
according to RFC 2396 by default. If
International Resource Identifiers
(IRIs) or Internationalized Domain
Name (IDN) parsing is enabled, the
query information is escaped according
to RFC 3986 and RFC 3987.

明天过后 2024-08-03 16:27:48

除了使用 string.Format 并且你有一个额外的 & 在 QueryString 的末尾,上述方法是最佳的。

Other than using string.Format and you having an extra & at the end of your QueryString the approach above is optimal.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文