我有一個休息服務,它需要將加密密鑰作爲路徑的一部分傳遞。我urlencode的關鍵,它放在瀏覽器中時效果很好。但是,在我的代碼中,我的用戶WebRequest.Create似乎取代了加密密鑰生成的任何反斜槓。這導致服務認爲它是路由的一部分,並且以404失敗。這是.net框架中的一個已知缺陷,還是我錯過了某些東西?看起來像一個很大的交易。WebRequest.Create路徑中的反編碼反斜槓
編輯:(簡體示例代碼)
字符串鍵= 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
希望這有助於。
更可能是一個錯誤的轉義/編碼問題,而不是框架。你怎麼發鑰匙?你能顯示任何代碼嗎? – Guffa 2012-04-16 16:25:01
已更新。謝謝! – RockyMountainHigh 2012-04-16 16:42:07