BSDソケットapiを使用してクローラを作成するための実験室作業があるので、すべての応答を抽出するために複数のHTTP要求を作成する必要があります。シングルソケット接続で処理しようとしていましたが、ヘッダー、他の応答は空です。 はここに私のコードですので、解決策?:javaで同じソケット接続を使用して複数のHTTPリクエストを実行するにはどうすればよいですか?
Socket socket = new Socket("fucking-great-advice.ru", 80);
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter output = new PrintWriter(socket.getOutputStream());
for (int numberAdvice = 1; numberAdvice < 100; numberAdvice++) {
output.write("GET /advice/" + numberAdvice + " HTTP/1.0\r\n\r\n");
output.flush();
StringBuilder sb = new StringBuilder();
int ch = 0;
while ((ch = input.read()) != -1) {
sb.append((char) ch);
}
String response = sb.toString().split("\r\n\r\n")[1];
System.out.println(response);
}
input.close();
output.close();
socket.close();
[keep alive](https://en.wikipedia.org/wiki/HTTP_persistent_connection)で試したことがありますか? )? – Duffydake