ROM Hack Difficulty with 3DSThem.es Standalone Downloader and Viewer

Termer

Fullstack developer
OP
Member
Joined
Apr 26, 2017
Messages
242
Trophies
0
Location
The nearest computer
Website
termer.net
XP
335
Country
United States
So, recently I made a web downloader for 3DSThem.es, and decided that it was high time for a standalone downloader. I sat down and wrote a prototype program, and on runtime I was greeted with this:
Code:
java.io.IOException: Server returned HTTP response code: 403 for URL: https://3dsthem.es/downloadTheme.php?i=1

My code:

ThemeGrabber.java
package net.termer.themegrabber3d;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.JButton;
import javax.swing.JFrame;

public class ThemeGrabber extends JFrame {
private int id = 1;
private Img img = null;
private JButton left = new JButton("<");
private JButton right = new JButton(">");
private JButton dl = new JButton("Download");

public ThemeGrabber() {
download();
setSize(500,500);
File dir = new File("themes");
if(!dir.exists()) {
dir.mkdir();
}
try {
img = new Img(Images.load("https://3dsthem.es/_/themes/"+Integer.toString(id)+"/Preview.png"));
} catch (IOException e) {
e.printStackTrace();
}
getContentPane().add(img,getContentPane().CENTER_ALIGNMENT);
left.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(id>1) {
id--;
try {
update();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
right.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
id++;
try {
update();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
dl.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

}
});
getContentPane().add(left, getContentPane().LEFT_ALIGNMENT);
getContentPane().add(right, getContentPane().RIGHT_ALIGNMENT);
getContentPane().add(dl, getContentPane().BOTTOM_ALIGNMENT);
setVisible(true);
}

private void update() throws IOException {
getContentPane().remove(img);
img = new Img(Images.load("https://3dsthem.es/_/themes/"+Integer.toString(id)+"/Preview.png"));
getContentPane().add(img,getContentPane().CENTER_ALIGNMENT);
}
private void download() {
URL link;
try {
link = new URL("https://3dsthem.es/downloadTheme.php?i="+Integer.toString(id));
InputStream in = new BufferedInputStream(link.openStream());
FileOutputStream dl = new FileOutputStream("themes/"+Integer.toString(id)+".zip");
} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
new ThemeGrabber();
}
}

Images.java

package net.termer.themegrabber3d;

import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

import javax.imageio.ImageIO;

public class Images {
public static BufferedImage load(String url) throws IOException {
URL link = new URL(url);
InputStream in = new BufferedInputStream(link.openStream());
return ImageIO.read(in);
}
}

Img.java
package net.termer.themegrabber3d;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;

public class Img extends JPanel {
private Image img;
public Img(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}

Any help or intel on why I'm getting served with a 403 (Forbidden) would be immensely appreciated.
 
Last edited by Termer,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    NinStar @ NinStar: unless nintendo is going to start selling consoles at a loss that thing won't be cheap based on...