URL 西里尔文编码问题(使用 Web 浏览器控制)

本文关键字:问题 使用 Web 控制 浏览器 文编码 URL 编码 | 更新日期: 2023-09-27 18:34:12

我使用 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# 函数来实现这一点?

URL 西里尔文编码问题(使用 Web 浏览器控制)

您可以使用

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"