| /* Test URL's */ |
| |
| import java.net.*; |
| import java.io.*; |
| |
| public class URLTest |
| { |
| |
| public static void |
| main(String argv[]) |
| { |
| System.out.println("Starting URL tests"); |
| |
| /* Simple URL test */ |
| |
| System.out.println("Test 1: Simple URL test"); |
| |
| try |
| { |
| URL url = new URL("http", "www.fsf.org", 80, "/"); |
| |
| if (!url.getProtocol().equals("http") || |
| !url.getHost().equals("www.fsf.org") || |
| url.getPort() != 80 || |
| !url.getFile().equals("/")) |
| System.out.println("FAILED: Simple URL test"); |
| |
| System.out.println("URL is: " + url.toString()); |
| |
| URLConnection uc = url.openConnection(); |
| |
| if (uc instanceof HttpURLConnection) |
| System.out.println("Got the expected connection type"); |
| |
| HttpURLConnection hc = (HttpURLConnection)uc; |
| |
| hc.connect(); |
| |
| System.out.flush(); |
| System.out.println("Dumping response headers"); |
| for (int i = 0; ; i++) |
| { |
| String key = hc.getHeaderFieldKey(i); |
| if (key == null) |
| break; |
| |
| System.out.println(key + ": " + hc.getHeaderField(i)); |
| } |
| |
| System.out.flush(); |
| System.out.println("Dumping contents"); |
| |
| BufferedReader br = new BufferedReader(new |
| InputStreamReader(hc.getInputStream())); |
| |
| for (String str = br.readLine(); str != null; str = br.readLine()) |
| { |
| System.out.println(str); |
| } |
| System.out.flush(); |
| |
| hc.disconnect(); |
| |
| System.out.println("Content Type: " + hc.getContentType()); |
| System.out.println("Content Encoding: " + hc.getContentEncoding()); |
| System.out.println("Content Length: " + hc.getContentLength()); |
| System.out.println("Date: " + hc.getDate()); |
| System.out.println("Expiration: " + hc.getExpiration()); |
| System.out.println("Last Modified: " + hc.getLastModified()); |
| |
| System.out.println("PASSED: Simple URL test"); |
| } |
| catch(IOException e) |
| { |
| System.out.println("FAILED: Simple URL test: " + e); |
| } |
| |
| // Parsing test |
| System.out.println("Test 2: URL parsing test"); |
| try |
| { |
| URL url = new URL("http://www.urbanophile.com/arenn/trans/trans.html#mis"); |
| if (!url.toString().equals( |
| "http://www.urbanophile.com/arenn/trans/trans.html#mis")) |
| System.out.println("FAILED: Parse URL test: " + url.toString()); |
| else { |
| System.out.println("Parsed ok: " + url.toString()); |
| url = new URL("http://www.foo.com:8080/#"); |
| if (!url.toString().equals("http://www.foo.com:8080/#")) |
| System.out.println("FAILED: Parse URL test: " + url.toString()); |
| else { |
| System.out.println("Parsed ok: " + url.toString()); |
| url = new URL("http://www.bar.com/test:file/"); |
| if (!url.toString().equals("http://www.bar.com/test:file/")) |
| System.out.println("FAILED: Parse URL test: " + url.toString()); |
| else { |
| System.out.println("Parsed ok: " + url.toString()); |
| url = new URL("http://www.gnu.org"); |
| if (!url.toString().equals("http://www.gnu.org/")) |
| System.out.println("FAILED: Parse URL test: " + url.toString()); |
| else { |
| System.out.println("Parsed ok: " + url.toString()); |
| url = new URL("HTTP://www.fsf.org/"); |
| if (!url.toString().equals("http://www.fsf.org/")) |
| System.out.println("FAILED: Parse URL test: " + url.toString()); |
| else { |
| System.out.println("Parsed ok: " + url.toString()); |
| System.out.println("PASSED: URL parse test"); |
| } |
| } |
| } |
| } |
| } |
| } |
| catch (IOException e) |
| { |
| System.out.println("FAILED: URL parsing test: " + e); |
| } |
| |
| // getContent test |
| System.out.println("Test 3: getContent test"); |
| try |
| { |
| URL url = new URL("http://localhost/~arenn/services.txt"); |
| |
| Object obj = url.getContent(); |
| System.out.println("Object type is: " + obj.getClass().getName()); |
| |
| if (obj instanceof InputStream) |
| { |
| System.out.println("Got InputStream, so dumping contents"); |
| BufferedReader br = new BufferedReader(new |
| InputStreamReader((InputStream)obj)); |
| |
| for (String str = br.readLine(); str != null; str = br.readLine()) |
| System.out.println(str); |
| |
| br.close(); |
| } |
| else |
| { |
| System.out.println("FAILED: Object is not an InputStream"); |
| } |
| |
| System.out.println("PASSED: getContent test"); |
| } |
| catch (IOException e) |
| { |
| System.out.println("FAILED: getContent test: " + e); |
| } |
| |
| System.out.println("URL test complete"); |
| } |
| |
| } |
| |