2016-10-13 13 views
4

HttpWebRequestクラスはURLパラメータを自動的にエンコードしますか? URL「http://test.com/124?param=%2Ea」のHttpWebRequestを作成しました。 フィドラートレースを取得すると、HTTP取得要求が "http://test.com/124?param=.a"、つまり "%2E"が "。"になることがわかります。 HttpWebRequestのは、それが自動的にない場合.net HttpWebRequest URLパラメータのURLエンコーディング

が、私は私のコードでデバッガをセットアップしようとしていると私はHttpWebRequestの中で渡されたURLがあると確信している「http://test.com/124?param=%2Ea」 あなたは知っていますか?どうすれば無効にできますか?

+0

私が要求を行った場合、それを再現することはできません%2Eと一緒に私はそれを見て、もし私がちょうど "。"私もそれを見る。とにかく "。"あなたのバックエンドがurl-parameterをデコードする場合、 "?"を使用するかどうかは関係ありません。または%2Eです。一般的にあなたの問題は何ですか? – Esko

答えて

0

%2eは、.のURLでエンコードされたURLですが、リクエストURLが入力したのとまったく同じままにしたいと思っていますか?

Uriは、エスケープされたスラッシュを使用できません。/またはドット.です。明らかにこれは後方互換性のためです。あなたは彼らがあなたのapp.configまたはweb.configファイルに次のコードを置くことをお勧めthis bug report on MS Connect

にMS自身によって溶液によって支えられてthis SO answerに言及した回避策を試すことができます。

<uri> 
    <schemeSettings> 
     <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" /> 
    </schemeSettings> 
</uri> 
+0

それがうまくいくかどうか私に教えてください。 – fmello

関連する問題