我可以从unencoding在WebRequest.Create一个URL阻止乌里?(Can I s

2019-09-22 12:38发布

代码本身并不复杂,它只是不能正常工作:

Uri uri = new Uri("https://www.google.com/webmasters/tools/feeds/sites/http%3A%2F%2Fwww.mydomain.co.uk%2F");
WebRequest.Create(uri);

我得到一个“错误的请求”从服务器返回,和很多很多的挖掘后,发现该URI正在变成

https://www.google.com/webmasters/tools/feeds/sites/http%3A//www.mydomain.co.uk/

这是不是我要求的,所以它具有whinge

有没有办法制止这种?

Answer 1:

答案在这里找到: https://stackoverflow.com/a/10415482/159341

根据此问题的错误报告对微软连接,这种行为是由设计,但您可以通过添加以下到您的app.config或web.config文件解决它:

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

(由于WebRequest.Create(串)只是代表对WebRequest.Create(URI),您将需要不管使用此解决办法,你调用哪个方法。)



文章来源: Can I stop Uri from unencoding a url in WebRequest.Create?