HttpWebRequest类是否自动编码URL参数? 我创建了一个URL为“http://test.com/124?param=%2Ea”的HttpWebRequest。 当我捕获一个小提琴曲线时,我看到HTTP get请求变为“http://test.com/124?param=.a”,即“%2E”变为“。”。
我已经尝试在我的代码中设置调试器,我确信我在HttpWebRequest中传递的url是“http://test.com/124?param=%2Ea” 你知道HttpWebRequest是否会自动执行此操作吗?我该如何禁用它?
答案 0 :(得分:0)
问题似乎是,虽然.
是与Uri
等效的网址编码,但您希望请求网址与您输入的方式完全相同,对吗?
似乎/
不允许转义斜杠.
或点app.config
。显然这是出于向后兼容的目的。您可以尝试this SO answer上提到的解决方法,该解决方案由MS自己在this bug report on MS Connect上的解决方案支持
他们建议将以下代码放在web.config
或<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>
文件中:
{{1}}