У меня есть клиентская программа, написанная на 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?