import java.io.*;
import java.net.*;
public class TestHTTP { public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0", 8080);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bw.write("GET / HTTP/1.1");
bw.write("HOST: localhost");
bw.write("Content-Type: text/html");
bw.newLine();
bw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = "";
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
bw.close();
s.close();
}}这是小弟写的Java程序,总是报以下错误:
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.<init>(Socket.java:372)
at java.net.Socket.<init>(Socket.java:186)
at TestHTTP.main(TestHTTP.java:9)
我用的是tomcat6.0.29版本, 在运行程序之前我已经启动了tomcat, 还是报错,真不知道错在那里。 各位高手帮帮想想: 小弟在先谢了!!!!
import java.net.*;
public class TestHTTP { public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0", 8080);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bw.write("GET / HTTP/1.1");
bw.write("HOST: localhost");
bw.write("Content-Type: text/html");
bw.newLine();
bw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = "";
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
bw.close();
s.close();
}}这是小弟写的Java程序,总是报以下错误:
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.<init>(Socket.java:372)
at java.net.Socket.<init>(Socket.java:186)
at TestHTTP.main(TestHTTP.java:9)
我用的是tomcat6.0.29版本, 在运行程序之前我已经启动了tomcat, 还是报错,真不知道错在那里。 各位高手帮帮想想: 小弟在先谢了!!!!
Socket s = new Socket("127.0.0", 8080);
IP地址不完整吧
改成
Socket s = new Socket("127.0.0.1", 8080);
但是我将ip改正确之后,怎么在控制台上没将请求的网页打印出来呢?
小弟希望大家在帮帮忙思考一下,谢谢!!!!
所以,原来的代码
bw.write("GET / HTTP/1.1");
bw.write("HOST: localhost");
bw.write("Content-Type: text/html");
bw.newLine();
应该改成
bw.write("GET / HTTP/1.1\r\n");
bw.write("HOST: localhost\r\n");
bw.write("Content-Type: text/html\r\n\r\n");就可以了