diff --git a/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java b/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java index b24017f7..e1c7c507 100644 --- a/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/AbstractHTMLRipper.java @@ -93,6 +93,7 @@ public abstract class AbstractHTMLRipper extends AlbumRipper { // We set doc to null here so the while loop below this doesn't fire doc = null; + LOGGER.debug("Adding items from " + this.url + " to queue"); } while (doc != null) { diff --git a/src/main/java/com/rarchives/ripme/ripper/AbstractRipper.java b/src/main/java/com/rarchives/ripme/ripper/AbstractRipper.java index 8e4080ae..fe8074fb 100644 --- a/src/main/java/com/rarchives/ripme/ripper/AbstractRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/AbstractRipper.java @@ -237,6 +237,12 @@ public abstract class AbstractRipper * False if failed to download */ protected boolean addURLToDownload(URL url, String prefix, String subdirectory, String referrer, Map cookies, String fileName, String extension, Boolean getFileExtFromMIME) { + // A common bug is rippers adding urls that are just "http:". This rejects said urls + if (url.toExternalForm().equals("http:") || url.toExternalForm().equals("https:")) { + LOGGER.info(url.toExternalForm() + " is a invalid url amd will be changed"); + return false; + + } // Make sure the url doesn't contain any spaces as that can cause a 400 error when requesting the file if (url.toExternalForm().contains(" ")) { // If for some reason the url with all spaces encoded as %20 is malformed print an error diff --git a/src/main/java/com/rarchives/ripme/ripper/DownloadFileThread.java b/src/main/java/com/rarchives/ripme/ripper/DownloadFileThread.java index 6f57ec0c..3b1e7c16 100644 --- a/src/main/java/com/rarchives/ripme/ripper/DownloadFileThread.java +++ b/src/main/java/com/rarchives/ripme/ripper/DownloadFileThread.java @@ -1,7 +1,6 @@ package com.rarchives.ripme.ripper; import java.io.*; -import java.lang.reflect.Array; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.URL; @@ -14,13 +13,11 @@ import java.util.ResourceBundle; import javax.net.ssl.HttpsURLConnection; import com.rarchives.ripme.ui.MainWindow; -import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; import org.jsoup.HttpStatusException; import com.rarchives.ripme.ui.RipStatusMessage.STATUS; import com.rarchives.ripme.utils.Utils; -import static java.lang.Math.toIntExact; /** * Thread for downloading files. @@ -139,6 +136,7 @@ class DownloadFileThread extends Thread { int statusCode = huc.getResponseCode(); logger.debug("Status code: " + statusCode); + // If the server doesn't allow resuming downloads error out if (statusCode != 206 && observer.tryResumeDownload() && saveAs.exists()) { // TODO find a better way to handle servers that don't support resuming downloads then just erroring out throw new IOException(rb.getString("server.doesnt.support.resuming.downloads"));