每次请求中包含特殊类型的字符或 URL 的大小超过一定长度时,我的站点都会引发异常。
如何控制 URL 并在处理它之前对其进行转换(例如:如果请求是http://xwz.com/ "ert 我想把它变成http://xwz.com/ert)。类似的东西.
我正在使用 .net 和 c#
每次请求中包含特殊类型的字符或 URL 的大小超过一定长度时,我的站点都会引发异常。
如何控制 URL 并在处理它之前对其进行转换(例如:如果请求是http://xwz.com/ "ert 我想把它变成http://xwz.com/ert)。类似的东西.
我正在使用 .net 和 c#
使用这个:HttpServerUtility.UrlEncode 方法(字符串)
你可以像这样使用它:
System.Web.HttpUtility.UrlEncode("test t");
您将需要这个库:UrlEncode uses
System.Web.HttpUtility.UrlEncode
to encode strings.
UrlEncode(String) 方法可用于对整个 URL 进行编码,包括查询字符串值。如果在 HTTP 流中传递空格和标点符号等字符而不进行编码,则它们可能会在接收端被误解。URL 编码将 URL 中不允许的字符转换为字符实体等价物;URL 解码反转编码。例如,当字符 < 和 > 嵌入到要在 URL 中传输的文本块中时,它们被编码为 %3c 和 %3e。
下面的代码将用空格替换 URL 中的任何无效字符
string url = System.Text.RegularExpressions.Regex.Replace(url , @"/^[!#$&-;=?-[]_a-z~]+$/", "");
我认为这就是您要查找的内容: System.Web.HttpUtility.UrlEncode(string url)