twomt
01-22-2008, 07:59 AM
Hi all,
I am still learning Java and I am a bit stuck trying to open up a http connection to a webserver and then display the contents of a file.
I used the code found in a book, but I think something is missing on my server as I get a 400 returned from the server.
Have a look at the code please to see if I do something wrong and let me know if you have any ideas what I need to allow on the webserver to get the result I want:
/* Listing4504.java */
import java.net.*;
import java.io.*;
public class Listing4504
{
public static void main(String[] args)
{
if (args.length != 2) {
System.err.println(
"Usage: java Listing4504 <host> <file>"
);
System.exit(1);
}
try {
Socket sock = new Socket(args[0], 80);
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
//GET-command sending
String s = "GET " + args[1] + " HTTP/1.0" + "\r\n\r\n";
out.write(s.getBytes());
//Response read and display
int len;
byte[] b = new byte[100];
while ((len = in.read(b)) != -1) {
System.out.write(b, 0, len);
}
//Program exit
in.close();
out.close();
sock.close();
} catch (IOException e) {
System.err.println(e.toString());
System.exit(1);
}
}
}
Many thanks,
twomt
I am still learning Java and I am a bit stuck trying to open up a http connection to a webserver and then display the contents of a file.
I used the code found in a book, but I think something is missing on my server as I get a 400 returned from the server.
Have a look at the code please to see if I do something wrong and let me know if you have any ideas what I need to allow on the webserver to get the result I want:
/* Listing4504.java */
import java.net.*;
import java.io.*;
public class Listing4504
{
public static void main(String[] args)
{
if (args.length != 2) {
System.err.println(
"Usage: java Listing4504 <host> <file>"
);
System.exit(1);
}
try {
Socket sock = new Socket(args[0], 80);
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
//GET-command sending
String s = "GET " + args[1] + " HTTP/1.0" + "\r\n\r\n";
out.write(s.getBytes());
//Response read and display
int len;
byte[] b = new byte[100];
while ((len = in.read(b)) != -1) {
System.out.write(b, 0, len);
}
//Program exit
in.close();
out.close();
sock.close();
} catch (IOException e) {
System.err.println(e.toString());
System.exit(1);
}
}
}
Many thanks,
twomt