我想在JAVA
中编码URL参数的一部分http://statebuild-dev.com/iit-title/size.xml?id=(102T OR 140T)
到
http://statebuild-dev.com/iit-title/size.xml?id=(102%20OR%20140)
尝试使用URI进行编码,但它也编码?这是我不想要的。在URL中,我想在'='
之后对部件进行编码URI uri = new URI("http",
"statebuild-dev.com/iit-title", "/size.xml?id=(102 OR 140)", null);
//URL url = uri.toURL();
System.out.println(uri.toString());
System.out.println(url1);
谢谢
答案 0 :(得分:3)
你想在添加到url之前使用URLEncoder对每个查询参数进行编码,例如:
String encodedValue = URLEncoder.encode("(102 OR 140)", "UTF-8");
答案 1 :(得分:1)
您使用了错误的构造函数。 试试这个:
URI uri = new URI("http","statebuild-dev.com", "/iit-title/size.xml", "id=(102 OR 140)", null);
另见java.net.URLEncoder
答案 2 :(得分:1)
This answer对编码URI / URL的各个部分进行了很好的讨论。你走在正确的轨道上,但你的具体问题是你的URI的各个部分是错误的。您需要使用带有权限,路径,查询和片段的多部分构造函数:
URI uri = new URI("http", "statebuild-dev.com", "/iit-title/size.xml", "id=(102 or 104)", null);
System.out.println(uri.toString());
System.out.println(uri.toASCIIString());
答案 3 :(得分:0)