c# – UriBuilder无法编码UriBuilder注册的符号
发布时间:2020-12-15 06:23:20 所属栏目:百科 来源:网络整理
导读:我正在一个asp.net mvc Web应用程序.现在我有一个操作系统的值等于: 我正在使用以下代码来构建一个包含上述值的URL,如下所示: var query = HttpUtility.ParseQueryString(string.Empty);query["osName"] = OperatingSystem;var url = new UriBuilder(apiur
我正在一个asp.net mvc Web应用程序.现在我有一个操作系统的值等于:
我正在使用以下代码来构建一个包含上述值的URL,如下所示: var query = HttpUtility.ParseQueryString(string.Empty); query["osName"] = OperatingSystem; var url = new UriBuilder(apiurl); url.Query = query.ToString(); string xml = client.DownloadString(url.ToString()); 但生成的网址将包含以下操作系统的值: osName=Microsoft%u00ae+Windows+Server%u00ae+2008+Standard 所以UriBuilder会将注册的符号编码为%u00ae,这是错误的,因为当我尝试使用在线网站(如http://meyerweb.com/eric/tools/dencoder/)解码%u00ae时,它不会将%u00ae解码为注册符号?所以任何人都会喜欢这个请求,我怎么可以发送我的URL中的注册的标志?这是UrilBuilder中的一个问题吗? 谢谢 编辑 解决方法
尝试这个:
url.Query = Uri.EscapeUriString(HttpUtility.UrlDecode(query.ToString())); 如上所述HttpUtility.ParseQueryString() always encodes special characters to unicode (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |