在java中使用套接字的多个HTTP请求

时间:2010-12-22 14:30:58

标签: java networking

我如何使用套接字从我的java程序发送多个http请求。实际上我已经尝试过:

import java.net.*;
import java.io.*;
class htmlPageFetch{
    public static void main(String[] args){
        try{
            Socket s = new Socket("127.0.0.1", 80);
            DataInputStream dIn = new DataInputStream(s.getInputStream());
            PrintWriter dOut = new PrintWriter(s.getOutputStream(), true);
            dOut.println("GET /mytesting/justCheck.html HTTP/1.1\r\nHost:localhost\r\n\r\n");
            boolean more_data = true;
            String str;
            int i = 0;
            while(more_data){
                str = dIn.readLine();
                if(str==null){
                    //Now server has stopped sending data               //So now write again the inputs
                    dOut.println("GET /mytesting/justCheck1.html HTTP/1.1\r\nHost:localhost\r\n\r\n");                          


                    continue;
                }
                System.out.println(str);
            }   
        }catch(IOException e){

        }
    }
}

但是当我再次发送请求时,它没有被处理? 提前谢谢。

2 个答案:

答案 0 :(得分:3)

您想要使用HttpURLConnection。它抽象了很多HTTP细节,包括连接流水线。

答案 1 :(得分:0)

我不清楚为什么要尝试使用socket发送请求。但是您可能希望使用apache HttpClient来发送请求。可以在此处找到示例:http://hc.apache.org/httpclient-3.x/tutorial.html