【发布时间】:2017-10-17 07:15:48
【问题描述】:
我正在尝试使用 HTTPGET apache 方法获取页面,但它抛出了这个异常:
Illegal character in path at index 65: http://doctorat.tuiasi.ro/Htm/Proiecte_POSDRU_17.02.2013/Proiecte europene.html
我知道那里的空间可能是问题的原因,但我正在尝试像这样过滤 url
String url=everyUrl.getUrl().replaceAll(" ", "%20");
if (url.contains("http://")) {
Pattern allowedUrlCharacters = Pattern
.compile("([A-Za-z0-9_.~:/?\\#\\[\\]@!$&'()*+,;" + "=-]|%[0-9a-fA-F]{2})+");
Matcher matcher = allowedUrlCharacters.matcher(url);
if (matcher.find()) {
pushInFrontQueues(url);
}
// System.out.println(this.frontQueues.get(0).size());
}
}
我做错了什么?谁能帮帮我?
【问题讨论】:
-
什么是完整的堆栈跟踪?异常发生在代码的哪一行?
-
网址中不允许有空格。您在“Proiecte europene.html”中有一个
-
@RiaanNel 这是完整的堆栈跟踪
-
@litelite 我知道,但我已经测试了 id 并且不应该通过测试,但它确实
标签: java regex url exception-handling web-crawler