<%@ page import="java.text.SimpleDateFormat"%> <%@ page import="java.io.File"%> <%@ page import="java.net.URL"%> <%@ page import="java.net.URLEncoder"%> <%@ page import="java.net.MalformedURLException"%> <%@ page import="java.io.IOException"%> <%@ page import="java.io.FileOutputStream"%> <%@ page import="java.io.FileInputStream"%> <%@ page import="java.io.InputStream"%> <%@ page import="java.util.Vector"%> <%@ page import="java.util.Enumeration"%> <%@ page import="java.awt.image.BufferedImage"%> <%@ page import="java.awt.Graphics2D"%> <%@ page import="javax.imageio.ImageIO"%> <% response.setContentType("text/xml"); %> <% String urlText = request.getParameter("url"); String d = ""; URL url = new URL(urlText); try { InputStream responseStream = url.openStream(); byte line[] = new byte[254]; int len = 0; while ((len = responseStream.read(line)) != -1) { d += new String(line, 0, len, "UTF-8"); } responseStream.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } int i = 0; int baseCount = 0; while (true) { int last = i; i = d.indexOf("href", last); if (i < 0) i = d.indexOf("HREF", last); if (i > -1) { int s = d.indexOf('"', i); if (s < 0) s = d.indexOf('\'', i); if (s > -1) { s++; int e = d.indexOf('"', s); if (e < 0) e = d.indexOf('\'', s); if (e > -1) { boolean valid = false; String ref = d.substring(s, e); if ( ref.toLowerCase().endsWith(".jpg") || ref.toLowerCase().endsWith(".bmp") || ref.toLowerCase().endsWith(".tif") || ref.toLowerCase().endsWith(".tiff") || ref.toLowerCase().endsWith(".jpeg") || ref.toLowerCase().endsWith(".gif") ) { if (ref.startsWith(url.toString())) { ref = ref.substring(url.toString().length()); baseCount++; valid = true; } else if (ref.startsWith(url.getPath())) { ref = ref.substring(url.getPath().length()); baseCount++; valid = true; } // find new baseURL if we haven't yet added any images at out current base else if (baseCount < 1) { int us = ref.lastIndexOf('/'); String newBase = ref.substring(0, us+1); ref = ref.substring(us+1); newBase = newBase.replace(" ", "%20"); url = new URL(newBase); baseCount = 1; valid = true; } if (valid) { out.println(""+ref+""); } } i = e; } } } else break; last = ++i; } %>