Получить (GET) изображение через сокет с HTTP - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть клиентская программа, написанная на Java.Мне нужно создать Socket, запросить URL-адрес изображения через HTTP 1.1 и получить изображение, а затем записать его на диск.

Однако я не смог реализовать принимающее изображение поверх части Socket.

Вот мой код:

  public static BufferedImage HTTP11GETImage()
    {
        String response = "";
        BufferedImage image = null;
        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;
        int imageLenght;
        try
        {
            echoSocket = new Socket("oracleimg.com", 80);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new         InputStreamReader(echoSocket.getInputStream()));
            out.println("GET /us/assets/oralogo-small.gif HTTP/1.1");
            out.println("HOST: oracleimg.com");
            out.println("");
            //Code to recieve Image over Socket with HTTP protocol
        }
        catch (Exception e)
        {
            System.exit(1);
        }
        try
        {
            out.close();
            in.close();
            echoSocket.close();
            out = null;
            in = null;
            echoSocket = null;
        }
        catch (Exception ex)
        {
        }
        return image;
    }

Я пробовал очень много вещей, но все это было безуспешно ...

Одна важная вещь - я ограничен использованием URL-адреса Java& HTTP библиотеки.Я должен сделать это вручную ...

Кроме того, метод может вернуть любой другой класс тоже ...

Как я могу получить изображение из Socket с протоколом HTTP?

...