我如何使用套接字从我的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){
}
}
}
但是当我再次发送请求时,它没有被处理? 提前谢谢。
答案 0 :(得分:3)
您想要使用HttpURLConnection。它抽象了很多HTTP细节,包括连接流水线。
答案 1 :(得分:0)
我不清楚为什么要尝试使用socket发送请求。但是您可能希望使用apache HttpClient来发送请求。可以在此处找到示例:http://hc.apache.org/httpclient-3.x/tutorial.html