diff --git a/src/main/java/com/rarchives/ripme/ripper/AbstractJSONRipper.java b/src/main/java/com/rarchives/ripme/ripper/AbstractJSONRipper.java index 2fbc05e1..538a4b5d 100644 --- a/src/main/java/com/rarchives/ripme/ripper/AbstractJSONRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/AbstractJSONRipper.java @@ -38,7 +38,7 @@ public abstract class AbstractJSONRipper extends AbstractRipper { public abstract String getHost(); protected abstract JSONObject getFirstPage() throws IOException; - protected JSONObject getNextPage(JSONObject doc) throws IOException { + protected JSONObject getNextPage(JSONObject doc) throws IOException, URISyntaxException { throw new IOException("getNextPage not implemented"); } protected abstract List getURLsFromJSON(JSONObject json); @@ -104,7 +104,7 @@ public abstract class AbstractJSONRipper extends AbstractRipper { try { sendUpdate(STATUS.LOADING_RESOURCE, "next page"); json = getNextPage(json); - } catch (IOException e) { + } catch (IOException | URISyntaxException e) { LOGGER.info("Can't get next page: " + e.getMessage()); break; } diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/DerpiRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/DerpiRipper.java index c2acdc56..a0538614 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/DerpiRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/DerpiRipper.java @@ -101,10 +101,10 @@ public class DerpiRipper extends AbstractJSONRipper { } @Override - public JSONObject getNextPage(JSONObject doc) throws IOException { + public JSONObject getNextPage(JSONObject doc) throws IOException, URISyntaxException { currPage++; String u = currUrl.toExternalForm() + "&page=" + Integer.toString(currPage); - JSONObject json = Http.url(new URL(u)).getJSON(); + JSONObject json = Http.url(new URI(u).toURL()).getJSON(); JSONArray arr; if (json.has("images")) { arr = json.getJSONArray("images");