Я пишу веб-клиент. У меня есть следующий код.Отправка HTTP-запроса
public class Connection extends Thread{
public final static int PORT = 1337;
private ServerSocket svrSocket = null;
private Socket con = null;
public Connection(){
try{
svrSocket = new ServerSocket(PORT);
System.out.println("Conected to: " + PORT);
}catch(IOException ex)
{
System.err.println(ex);
System.out.println("Unable to attach to port");
}
}
public void run(){
while(true)
{
try{
con = svrSocket.accept();//on this part the program stops
System.out.println("Client request accepted");
PrintWriter out = new PrintWriter(con.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
out.println("GET /<index.html> HTTP/1.1");
out.println("***CLOSE***");
System.out.println(in.readLine());
/*
String s;
while((s = in.readLine()) != null)
{
System.out.println(s);
}*/
out.flush();
out.close();
in.close();
con.close();
System.out.println("all closed");
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
}
}
Метод запуска будет использоваться последний сверху. У меня есть файл с именем index.html
. Этот файл находится в том же файле, что и код java. То, что я пытаюсь сделать с запросом, - это отправить файл HTML. Но если я запустил эту программу в веб-браузере localhost:1337
, отобразится следующее.
GET /<index.html> HTTP/1.1
***CLOSE***
Это не должно отображаться. Появится страница, на которой будут отображаться результаты HTML-кода в index.html
.
Index.html код:
<html>
<head>
<title> </title>
</head>
<body bgcolor = "#ffffcc" text = "#000000">
<h1>Hello</h1>
<p>This is a simple web page</p>
</body>
</html>
Как получить этот HTML страницы для отображения в браузере?
Спасибо
И если я хочу увидеть ответ, как 200 OK, как бы я это сделал? – Jonathan
Вместо '' out.println ("GET/ HTTP/1.1"); '' вы используете '' out.println («HTTP/1.1 200 OK»); ''. Посмотрите на [этот пример] (http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Server_response)! –
f1sh
Я понимаю, что вы говорите, что быстрое решение состоит в том, чтобы прочитать файл в поток вывода, но смогу ли я подтвердить OK 200? И если я использую правильный синтаксис с запросом, то это произойдет. Файл HTML не подбирается. – Jonathan