WCF Restful 和带有特殊字符的查询字符串
Posted
技术标签:
【中文标题】WCF Restful 和带有特殊字符的查询字符串【英文标题】:WCF Restful and query string with special characters 【发布时间】:2018-05-15 08:08:50 【问题描述】:我正在使用带有 Restful API 的 WCF。
从客户端,我使用查询字符串“http://example.com/6500/%2fSIZ7”发出 GET 请求。
以“6500”和“%2fSIZ7”为参数。
但在服务器上,我只收到“6500”和“SIZ17”的值,没有特殊字符“%2f”。
我也尝试使用另一个字符,例如:“#”(发送前编码)。它正在工作。
我们如何发送带有字符“/”(%2f)的查询字符串?
【问题讨论】:
【参考方案1】:由于 URL 通常包含 ASCII 集之外的字符,因此必须将 URL 转换为有效的 ASCII 格式。 URL 编码将不安全的 ASCII 字符替换为“%”,后跟两个十六进制数字。 URL 不能包含空格。 URL 编码通常用加号 (+) 或 %20 替换空格。
Url 编码字符列在html URL Encoding Reference。
从上面的列表中,%2F 是正斜杠(/)的编码值。
【讨论】:
是的,我在编码之前将特殊字符替换为另一个符号并且它正在工作。以上是关于WCF Restful 和带有特殊字符的查询字符串的主要内容,如果未能解决你的问题,请参考以下文章
带有 Restful API 和循环引用问题的 WCF 服务
将字符串从 android 传递到 wcf restful 服务变得空