私はパスの一部として暗号化されたキーを渡す必要があるレストサービスを持っています。私はキーをurlencodeし、ブラウザに置いただけでうまくいきます。しかし、私のコードで私はWebRequest.Createと暗号化キーによって生成されたバックスラッシュを置き換えるように見えます。この結果、サービスはルートの一部であると考えられ、404で失敗します。これは.NETフレームワークの既知の欠陥ですか、何か不足していますか?かなり大きなもののようだ。WebRequest.パス内のバックスラッシュを暗号化解除します
編集:(簡易サンプルコード)
列キー= System.Web.HttpUtility.UrlEncode(TripleDESEncode( "sharedkey")); string uri = string.Format( "http://mydomail.com/deposit/{0}.{1}"、キー、 "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
が更新されました。ありがとう! – RockyMountainHigh