私のURLをエスケープしようとしていますが、正しく動作していません。皮肉なことに、私のMacBookに私はこの問題は、私のIDEは、それが時代遅れだと言うことですコードC#HttpClient URIが正しくエスケープされていません
Uri url = new Uri("http://www.example.com/?i=123%34", true);
// it returns http://www.example.com/?i=123%34 which is exactly what I want.
のこの部分を実行すると、それは私のWindowsマシン上では動作しません。これはまったく同じプロジェクトで、IDEです。そこで誰かが提案した解決策を見つけようとしました
Uri uri = new Uri(Uri.EscapeUriString("http://www.example.com/?i=123%34"));
// this returns http://www.example.com/?i=123%2534 which is what I DONT want.
この問題にどう対処しますか?私はウェブ全体を見渡して解決策を見つけることができません。このURLを正しくエスケープする方法を知る必要があります。上記の2番目のメソッドは、上記の最初のメソッドのようには機能しません。
私はバイオリンを経由してGETリクエストを検証し、そのすべてが実際に起こっています。
更新:再び
、私は文字列が宣言されている正確にどのようにURLを受信するサーバが必要です。私はサーバーが変換を処理したい。 %記号を%25に置き換えることはできません。それは、文字列がどのように宣言されたかを正確に受け取らなければなりません。さらに、「http://www.example.com/?i=1234」は私が望むものではありません。
%34は、%34がエンコードするものである4、またはi = 1234の代わりにi = 123%34を返すことが重要です。 – Kolichikov
@Kolichikovそれは私が得ることが重要ですi = 123%34と%記号の代わりに%25を使用することはできません。文字通りURI内の文字列がどのように宣言されているかは、サーバーがそれを受け取るためにどのように必要なのかです。 –