【发布时间】:2013-05-10 03:28:24
【问题描述】:
我在项目中遇到了一个意外问题。问题是我的代码中有一个动态生成的 URL,我必须通过 GET 请求将其提交给 RESTful Web 服务。例如要提交的 URL 如下所示:http://mysampleserver.com:8080/calc/8999/bpaX
RESTful 服务器接受 URL 作为其最后一个参数,格式如下:
http://myRestfulAPI.domainname.com/capture/bbbb/http://mysampleserver.com:8080/calc/8999/bpaX
我还使用 System.Net.HttpUtility.UrlEncode(....) 首先对“要提交的 URL”进行编码,以将其合并到 RESTful 服务调用中。
这导致出现以下错误:
System.Web.HttpException:从客户端检测到潜在危险的 Request.Path 值 (:)
为了尝试解决它,我关注了the steps described per this web page,但没有运气。
我正在使用 MVC 4 在 C# 中实现 RESTful API。
有任何线索或想法可以解决这个令人瞩目的问题吗?
【问题讨论】:
-
Base64 编码 URL 字符串,也许?
-
Uri.EscapeDataString()应该做得更好。我过去遇到过HttpUtility.UrlEncode没有正确编码所有字符的问题。见stackoverflow.com/questions/602642/…。此外,您可以尝试在查询字符串中附加编码的 url,在另一个 url 中嵌入一个 url 似乎有问题。
标签: c# .net asp.net-mvc asp.net-mvc-4 restful-url