X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Farachne%2Fcore%2FURLFetcher.java;h=ea109d0c82c49f3f6ebabe4ee5d95b0a5bd40dea;hb=bc2a6cc23e93037cae7f52815f20bdf24504ce5d;hp=e0062e34bddc00efe6edf15b645db221234aeb23;hpb=8b58c6a6203d8fd6989d92bb5d9fedb9cce37d46;p=arachne.git diff --git a/src/net/pterodactylus/arachne/core/URLFetcher.java b/src/net/pterodactylus/arachne/core/URLFetcher.java index e0062e3..ea109d0 100644 --- a/src/net/pterodactylus/arachne/core/URLFetcher.java +++ b/src/net/pterodactylus/arachne/core/URLFetcher.java @@ -121,6 +121,10 @@ class URLFetcher implements Runnable, ParserListener { 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(); } catch (IOException ioe1) { @@ -139,9 +143,13 @@ class URLFetcher implements Runnable, ParserListener { 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);