import java.net.URI;
import java.net.URISyntaxException;
class Ideone {
public static void main
(String[] args
) { String problemUrl
= "http:///1.1.1.1:8001";
try {
URI uriProblem = new URI(problemUrl);
System.
out.
println("Three slash"); System.
out.
println("Host is: " + uriProblem.
getHost()); System.
out.
println("Path is: " + uriProblem.
getPath());
} catch (URISyntaxException e) {
System.
out.
println("Caught Exception: " + e.
getMessage()); System.
out.
println("Result: Fails validation."); }
System.
out.
println("\n----------------------------------\n");
String correctUrl
= "http://1.1.1.1:8001";
try {
URI uriCorrect = new URI(correctUrl);
System.
out.
println("Two slash"); System.
out.
println("Host is: " + uriCorrect.
getHost()); System.
out.
println("Path is: " + uriCorrect.
getPath());
} catch (URISyntaxException e) {
System.
out.
println("Exception: " + e.
getMessage()); }
}
}
aW1wb3J0IGphdmEubmV0LlVSSTsKaW1wb3J0IGphdmEubmV0LlVSSVN5bnRheEV4Y2VwdGlvbjsKCmNsYXNzIElkZW9uZSB7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFN0cmluZyBwcm9ibGVtVXJsID0gImh0dHA6Ly8vMS4xLjEuMTo4MDAxIjsgCgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFVSSSB1cmlQcm9ibGVtID0gbmV3IFVSSShwcm9ibGVtVXJsKTsgCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGhyZWUgc2xhc2giKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJIb3N0IGlzOiAiICsgdXJpUHJvYmxlbS5nZXRIb3N0KCkpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBhdGggaXM6ICIgKyB1cmlQcm9ibGVtLmdldFBhdGgoKSk7CgogICAgICAgIH0gY2F0Y2ggKFVSSVN5bnRheEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQ2F1Z2h0IEV4Y2VwdGlvbjogIiArIGUuZ2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSZXN1bHQ6IEZhaWxzIHZhbGlkYXRpb24uIik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKCiAgICAgICAgU3RyaW5nIGNvcnJlY3RVcmwgPSAiaHR0cDovLzEuMS4xLjE6ODAwMSI7IAoKICAgICAgICB0cnkgewogICAgICAgICAgICBVUkkgdXJpQ29ycmVjdCA9IG5ldyBVUkkoY29ycmVjdFVybCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlR3byBzbGFzaCIpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkhvc3QgaXM6ICIgKyB1cmlDb3JyZWN0LmdldEhvc3QoKSk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUGF0aCBpczogIiArIHVyaUNvcnJlY3QuZ2V0UGF0aCgpKTsKCiAgICAgICAgfSBjYXRjaCAoVVJJU3ludGF4RXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJFeGNlcHRpb246ICIgKyBlLmdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQogICAgfQp9