C#HttpWebRequest URI将丢失其编码,并且Web.config不遵守关闭它的设置
我面临一个问题,我试图调用一个带有一些斜杠编码的RESTAPI 像这样: www.foo.com/method/TV%20Shows%2f娱乐 现在,当调用一个工作正常的浏览器时,但是当尝试使用C#HttpWebRequest URI将丢失其编码,并且Web.config不遵守关闭它的设置,c#,.net-4.0,web-config,httpwebrequest,urlencode,C#,.net 4.0,Web Config,Httpwebrequest,Urlencode,我面临一个问题,我试图调用一个带有一些斜杠编码的RESTAPI 像这样: www.foo.com/method/TV%20Shows%2f娱乐 现在,当调用一个工作正常的浏览器时,但是当尝试使用HttpUtility调用它时,它会松开编码 这: 产出: www.foo.com/method/TV%20Shows/Entertainment 当然最后会变成404。现在我明白了为什么会发生这种情况,我也在这里找到了解决方案: 现在我的问题来了。将所述解决方案添加到app config.NET时,不会
HttpUtility
调用它时,它会松开编码
这:
产出:
www.foo.com/method/TV%20Shows/Entertainment
当然最后会变成404。现在我明白了为什么会发生这种情况,我也在这里找到了解决方案:
现在我的问题来了。将所述解决方案添加到app config.NET时,不会将
识别为有子
错误如下。
-元素不能包含空格。内容模型为空。
-元素SchemeSettings不能包含子元素add,因为父元素的内容模型为空
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>
谢谢您在哪里看到错误?在Visual Studio中验证web.config文件时,还是在运行应用程序时?如果只是在验证中,当您尝试运行它时会发生什么?请参考我的答案
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>