帮助C#HttpWebRequest URI丢失其编码

10 c# asp.net-3.5 httpwebrequest url-encoding

HttpWebRequest有问题解码我的编码URL.

var requestUrl = "https://www.google.com/webmasters/tools/feeds/http%3A%2F%2Fwww%2example%2Ecom%2F/crawlissues/";   
var request = (HttpWebRequest)WebRequest.Create(requestUrl);
Run Code Online (Sandbox Code Playgroud)

查看结束请求时,URL变为:

https://www.google.com/webmasters/tools/feeds/http://www.example.com//crawlissues/

这当然会返回400 Bad请求.我猜它是与URI类而不是HttpWebRequest的东西.我如何阻止这种情况发生?

Ric*_*ing 5

这是 Uri 类的一个令人讨厌的“安全特性”。如果您使用的是 4.0 或更高版本,则可以在配置文件中将其关闭;否则,你将不得不求助于反射


sas*_*eve 0

不确定,但可能HttpServerUtility.UrlEncode方法会有所帮助。

更新。或者,您可以使用 WebClient 类。

  • 谢谢,但网址已经编码,问题是有东西正在解码它。 (2认同)