Ошибка "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


Ответы (0 шт):