Ошибка "400 Bad RequestConnection" при получении веб-страницы через socket
Никак не получается получить веб-страницу через сокет. По заданию нужно получить веб-страницу сайта с доступом http. Код приведенный ниже работает например только для server = "www.google.com", но если например попытаться получить веб-страницу www.nytimes.com уже выдает ошибку:
HTTP/1.1 400 Bad RequestConnection: closeContent-Length: 0
Пока у меня получилось получить страницу только для google.com, с остальными возникает ошибка.
Код:
public static void main(String[] args) throws IOException {
Socket sock = null;
BufferedReader br = null;
PrintWriter pw = null;
String server = "www.nytimes.com";
String path = "/";
try {
sock = new Socket(server, 80);
InputStream is = sock.getInputStream();
OutputStream os = sock.getOutputStream();
br = new BufferedReader (new InputStreamReader(is));
pw = new PrintWriter(os);
pw.println("GET " + path + " HTTP/1.0 \r\n");
pw.println("\r\n");
pw.println();
pw.flush();
StringBuffer sb = new StringBuffer();
String inputLine;
while ((inputLine = br.readLine()) != null) {
sb.append(inputLine);
}
System.out.println(sb);
} catch (IOException e) {
e.printStackTrace();
}
sock.close();
br.close();
pw.close();
System.out.println(list);
}
Я находил в интернете всякие другие решения задачи, например используя URL. И да это отлично работает, но все таки задание использовать сокеты, PrintWriter и BufferedReader