If you are using Java 2, you should create a URLConnection object from the URL object and set the following system properties: URLConnection conn = url.openConnection(); // Use the username and password you use to // connect to the outside world // if your proxy server requires authentication. String authentication = "Basic " + new sun.misc.BASE64Encoder().encode("username:password".getBytes()); System.getProperties().put("proxySet", "true"); System.getProperties().put("proxyHost", PROXY_HOST); // your proxy host System.getProperties().put("proxyPort", PROXY_PORT); // your proxy port conn.setRequestProperty("Proxy-Authorization", authentication); If you are using JDK 1.1, you may not be able to set the system properties. In that case, you should create the java.net.URL object with your proxy server information: url = new URL("http", PROXY_HOST, Integer.parseInt(PROXY_PORT), fileURL ); // assumes authentication is not required