import net.pterodactylus.arachne.parser.ParserFactory;
import net.pterodactylus.arachne.parser.ParserListener;
import de.ina.util.io.MessageDigestInputStream;
+import de.ina.util.number.Hex;
import de.ina.util.validation.Validation;
/**
urlInputStream = urlConnection.getInputStream();
hashInputStream = new MessageDigestInputStream(urlInputStream, messageDigest);
Parser parser = parserFactory.getParser(contentType);
+ if (parser == null) {
+ logger.log(Level.INFO, "No parser found for “" + contentType + "”.");
+ return;
+ }
parser.parse(this, hashInputStream, "UTF-8");
hash = messageDigest.digest();
+ logger.log(Level.FINE, "Hashed “" + url + "” to “" + Hex.toHex(hash) + "”.");
} catch (IOException ioe1) {
logger.log(Level.WARNING, "Could not fetch “" + url + "”.", ioe1);
}
URL newLink = null;
try {
newLink = new URL(url, linkTarget);
- Page newPage = Page.fromURL(newLink);
- if (newPage != null) {
- collectedPages.add(newPage);
+ try {
+ Page newPage = Page.fromURL(newLink);
+ if (newPage != null) {
+ collectedPages.add(newPage);
+ }
+ } catch (IllegalArgumentException iae1) {
+ /* ignore. */
}
} catch (MalformedURLException mue1) {
logger.log(Level.WARNING, "Could not create URL from “" + url + "” and “" + linkTarget + "”.", mue1);