我使用 C# Web 浏览器发送请求。但 url 包含西里尔符号,我使用代理,所以我需要对 url 进行编码。
来源网址:http://mysite.com/info?q=москва+дизайн
我需要 http://mysite.com/info?q=%E4%E8%E7%E0%E9%ED+%EC%EE%F1%EA%E2%E0
有哪些 C# 函数可以做到这一点?
我使用 C# Web 浏览器发送请求。但 url 包含西里尔符号,我使用代理,所以我需要对 url 进行编码。
来源网址:http://mysite.com/info?q=москва+дизайн
我需要 http://mysite.com/info?q=%E4%E8%E7%E0%E9%ED+%EC%EE%F1%EA%E2%E0
有哪些 C# 函数可以做到这一点?
您可以使用 System.Web.HttpUtility.UrlEncode()。它的默认编码是 utf-8,你的看起来像 Windows 代码页 1251,单词颠倒了。我想你应该通过 Encoding.Default。最接近的匹配是:
var enc = Encoding.GetEncoding(1251);
var url = "http://mysite.com/info?q=" +
System.Web.HttpUtility.UrlEncode("москва+дизайн", enc);
产生:
"http://mysite.com/info?q=%ec%ee%f1%ea%e2%e0%2b%e4%e8%e7%e0%e9%ed"