package de.spieleck.servlets; import java.net.*; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; public class Fetchlet extends HttpServlet { public Fetchlet() { } public void init() throws ServletException { String h = getInitParameter("safe"); } protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { URL url = new URL(req.getQueryString()); HttpURLConnection huc = (HttpURLConnection) url.openConnection(); huc.setFollowRedirects(true); try { huc.setRequestMethod("GET"); huc.setDoInput(true); } catch ( ProtocolException ignore ) { } huc.connect(); // is caught by INA firewall res.setContentType(huc.getContentType()); // res.setContentEncoding(huc.getContentEncoding()); res.setContentType("text/plain"); BufferedInputStream in = new BufferedInputStream(huc.getInputStream()); // OutputStream out = new java.util.zip.GZIPOutputStream( // res.getOutputStream()); OutputStream out = res.getOutputStream(); int b; int i = 0; while ( ( b = in.read() ) != -1 ) { out.write(b); // Give the network s.th. to do! if ( ( ++i & 0xFFF ) == 0 ) out.flush(); } out.close(); in.close(); huc.disconnect(); } }