如何在WinForms中编码URL?

And*_*rew 20 c# url encode winforms

我正在创建一个Windows应用程序,我需要传递一个编码的URL.但我不确定如何在WinForms C#中编码?

Chr*_*tow 36

如果需要对查询字符串的数据进行URL编码,可以使用Uri.EscapeDataString,如果不介意引用System.Web,则可以使用HttpUtility.UrlEncode:

var rawString = @"this & that";
var uriEncoded = Uri.EscapeDataString(rawString);
var httpUtilityEncoded = HttpUtility.UrlEncode(rawString);
Run Code Online (Sandbox Code Playgroud)

它们非常相似,但在编码特殊字符(如空格)的方式中可以产生微妙的不同结果:

Console.WriteLine(uriEncoded);
// uriEncoded = "this%20%26%20that"

Console.WriteLine(httpUtilityEncoded);
// httpUtilityEncoded = "this+%26+that"
Run Code Online (Sandbox Code Playgroud)


小智 5

您是否尝试过:

var url = System.Net.WebUtility.UrlEncode(string);
Run Code Online (Sandbox Code Playgroud)

您不需要依赖于 System.Web,您可以在 PCL 中使用它,我在我的 Xamarin 表单项目中使用了它。