是否有 .NET 编码方法可用于对要在 URL 参数中传递的 URL 进行编码?
例如说我有:
url_of_interest = "http://asdf.asdf/asdf.htm"
当我上传到网络应用程序时,我想将其作为一 (1) 个 URL 表单参数包含在内:
http://mywebservice/upload?url=<<encoded URL here>>
HttpServerUtility.UrlEncode 应该可以解决问题:
UrlEncode() 方法可用于对整个 URL 进行编码,包括查询字符串值。如果在 HTTP 流中传递诸如空格和标点符号之类的字符,它们可能会在接收端被误解。URL 编码将 URL 中不允许的字符转换为字符实体等价物;URL 解码反转编码。例如,当嵌入要在 URL 中传输的文本块中时,字符 < 和 > 被编码为 %3c 和 %3e。
您应该使用 MS Anti XSS 库的
AntiXss.UrlEncode 方法
AntiXSS 库可以从以下位置下载
由于 System.Web 正在从基于现代 OWIN 的应用程序中退役,因此替代解决方案HttpUtility.UrlEncode
应该是WebUtility.UrlEncode