2

每次请求中包含特殊类型的字符或 URL 的大小超过一定长度时,我的站点都会引发异常。

如何控制 URL 并在处理它之前对其进行转换(例如:如果请求是http://xwz.com/ "ert 我想把它变成http://xwz.com/ert)。类似的东西.

我正在使用 .net 和 c#

4

4 回答 4

2

使用这个:HttpServerUtility.UrlEncode 方法(字符串)

你可以像这样使用它:

System.Web.HttpUtility.UrlEncode("test t");

您将需要这个库:UrlEncode usesSystem.Web.HttpUtility.UrlEncodeto encode strings.

于 2013-07-16T18:06:51.780 回答
1

寻找HttpUtility.UrlEncode

UrlEncode(String) 方法可用于对整个 URL 进行编码,包括查询字符串值。如果在 HTTP 流中传递空格和标点符号等字符而不进行编码,则它们可能会在接收端被误解。URL 编码将 URL 中不允许的字符转换为字符实体等价物;URL 解码反转编码。例如,当字符 < 和 > 嵌入到要在 URL 中传输的文本块中时,它们被编码为 %3c 和 %3e。

于 2013-07-16T18:06:11.850 回答
0

下面的代码将用空格替换 URL 中的任何无效字符

           string url = System.Text.RegularExpressions.Regex.Replace(url , @"/^[!#$&-;=?-[]_a-z~]+$/", "");
于 2013-07-16T18:07:11.110 回答
0

我认为这就是您要查找的内容: System.Web.HttpUtility.UrlEncode(string url)

于 2013-07-16T18:07:36.753 回答