工作竖线获取例外之下,而编码竖线:的URLEncode没有在Java
java.lang.IllegalArgumentException:如果查询非法字符在 指数292:
在java.net.URI中.create(Unknown Source)at org.apache.http.client.methods.HttpGet。(HttpGet.java:69)at com.versionone.apiclient.V1Connector.setGETMethod(V1Connector.java:349) at com.versionone .apiclient.V1Connector.getData(V1Connector.java:307) at com.versionone.apiclien t.Services.retrieve(Services.java:135)在 com.samplev1.v1javasdk.getEpicDetails(v1javasdk.java:120)在 com.samplev1.v1javasdk.main(v1javasdk.java:52)
http://www.example.com/uat/rest/Book?sel=Name,Child:Story[Status='StoryStatus:12'|Status='StoryStatus:12'|Status='StoryStatus:1'][email protected]
如果我删除管'|'从其余的URL它工作正常,如何使用URLEncoder编码管道字符。
任何帮助,将不胜感激。
代码示例:
private static String EncodeAggregateQuery(String query) throws UnsupportedEncodingException
{
String q = URLEncoder.encode(query,"UTF-8");
return q;
}
我用上面的方法为:
IAttributeDefinition attribute6 = assetType.getAttributeDefinition(EncodeAggregateQuery("Child:Story[Status='StoryStatus:12'|Status='StoryStatus:12'|Status='StoryStatus:1'][email protected]"));
请包括*整个*堆栈跟踪,而不仅仅是它的第一行。包括产生异常的代码也会非常有用。 – VGR
你可以显示你在哪里打电话URLEncoder.encode() –
'“http://www.example.com/uat/rest/Book?sel=”+ URLEncoder.encode(“... | ...”) '?可能会采取一些安全措施来防止黑管入侵。 –