客户端的CXF Url编码

时间:2016-11-01 22:18:36

标签: java http jax-rs cxf

如何使用CXF在客户端禁用url编码 例如

 restClient.sendRequest("myemail@ololo.com")

将转换为

Address: http://myhost.com/endpoint?email=myemail%40ololo.com
Http-Method: DELETE
Content-Type: application/xml
Headers: {Content-Type=[application/xml], Accept=[application/xml]}

如何配置我的客户端以禁用它?

1 个答案:

答案 0 :(得分:1)

对于您可以找到的任何网址,某些字符是特殊字符,必须在形成URI之前进行转义(请参阅RFC 2396

reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                "$" | ","

这意味着您必须在网址中将@字符作为%40发送。

如果您要发送未转义的@,请不要使用Query参数。使用包含有效负载正文中所需内容的POST请求以及文本内容类型,例如text/plainapplication/xml(不要使用application/x-www-form-urlencoded