我有一个休息服务,需要将加密密钥作为路径的一部分传递。我对密钥进行了 urlencode,它在放置在浏览器中时效果很好。但是,在我的代码中,我使用了 WebRequest.Create 并且它似乎替换了由加密密钥生成的任何反斜杠。这导致服务认为它是路由的一部分并以 404 失败。这是 .net 框架中的已知缺陷还是我遗漏了什么?似乎是一件大事。
编辑:(简化示例代码)
字符串键 = System.Web.HttpUtility.UrlEncode(TripleDESEncode("sharedkey")); string uri = string.Format("http://mydomail.com/deposit/{0}.{1}", key, "json");
//uri 在这里看起来像这样http://mydomail.com/deposit/FHnapfF5yBCEKt3%2f3YOQ5g%3d%3d.json
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);
//现在HttpWebRequest中的地址是这样的... //http://mydomail.com/deposit/FHnapfF5yBCEKt3/3YOQ5g%3d%3d.json
希望这会有所帮助。