C# WebUtility.HtmlEncode不';t转换`:`
我向RESTWeb服务发出请求。web服务接受以下格式的日期参数:C# WebUtility.HtmlEncode不';t转换`:`,c#,.net,url,html-entities,html-encode,C#,.net,Url,Html Entities,Html Encode,我向RESTWeb服务发出请求。web服务接受以下格式的日期参数: ?date=0001-01-01T00:00:00Z 仅当参数中的冒号转换为%3A时,web服务才会接受,如下所示 ?date=0001-01-01T00%3A00%3A00Z 我相信我可以使用WebUtility.HtmlEncode()进行此转换。但是在使用它之后,冒号不会被解析为%3A 我错过什么了吗?如何获取以下格式的参数 ?date=0001-01-01T00%3A00%3A00Z 我已经为这件简单的事情浪费了很
?date=0001-01-01T00:00:00Z
仅当参数中的冒号转换为%3A时,web服务才会接受,如下所示
?date=0001-01-01T00%3A00%3A00Z
我相信我可以使用WebUtility.HtmlEncode()
进行此转换。但是在使用它之后,冒号不会被解析为%3A
我错过什么了吗?如何获取以下格式的参数
?date=0001-01-01T00%3A00%3A00Z
我已经为这件简单的事情浪费了很多时间,我不想只为此编写代码。。。一定有某个.NET库已经可以执行此操作。
:
是HTML中的有效字符,这就是为什么HtmlEncode
没有触及它的原因。您正在处理一个URL,因此需要:
:
是HTML中的一个有效字符,这就是为什么HtmlEncode
没有触及它的原因。您正在处理一个URL,因此需要:
我手动更改了,谢谢。问题是,当我使用UrlEncode()时,它会转换所有特殊字符。并且一个新的Uri().NET对象不接受它。我手动更改了它,谢谢。问题是,当我使用UrlEncode()时,它会转换所有特殊字符。并且一个新的Uri().NET对象也不接受它
var url = WebUtility.UrlEncode(":"); //%3A