Java资源编码
我在使用webresource时遇到一些问题。我想将编码参数传递给我的请求。 问题是,当我使用URLEncoder.encode时,它对我的参数进行了很好的编码,但当我执行请求时,jersey将再次对其进行编码 如果我在未编码的情况下传递参数,jersey将不会对其进行编码 这很奇怪。有什么解决办法吗 下面是我的一些代码:Java资源编码,java,encoding,jersey,params,webresource,Java,Encoding,Jersey,Params,Webresource,我在使用webresource时遇到一些问题。我想将编码参数传递给我的请求。 问题是,当我使用URLEncoder.encode时,它对我的参数进行了很好的编码,但当我执行请求时,jersey将再次对其进行编码 如果我在未编码的情况下传递参数,jersey将不会对其进行编码 这很奇怪。有什么解决办法吗 下面是我的一些代码: WebResource webResource = this.resource(this.myURL, login, password); webResour
WebResource webResource = this.resource(this.myURL, login, password);
webResource.addFilter(new com.sun.jersey.api.client.filter.LoggingFilter());
String paramEncoded = URLEncoder.encode(param);
try {
certificateTool.disableSslChecks();
userInfosAccessRights = webResource.path("getInfos").
queryParam("id", paramEncoded).
get(MyClass.class);
} catch (UniformInterfaceException exc) {
参数为:tvR1AwZ/4YrsCp0TKV3/od+THEMB/u8Y68cPpAEwoM=
编码参数:tvR1AwZ%2F4YrsCp0TKV3%2Fod%2BTHEMB%2Fu8Y68cPpAEwoM%3D
请求中的参数:tvR1AwZ%252F4YrsCp0TKV3%252Fod%252Bthereb%252Fu8Y68cPpAEwoM%253D
谢谢当您将参数作为查询参数发送时,它将遵循按照的编码规则。这些规则与编码URL的规则不同,这就是为什么会看到不同的结果。Jersey所做的事情是正确的,在将参数传递给
queryParam()之前不应对其进行编码