156 lines
4.6 KiB
Java
156 lines
4.6 KiB
Java
/* 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");
|
|
}
|
|
|
|
}
|
|
|