Я хочу скачать изображение с помощью сокета.В настоящее время я могу это сделать, но входящие заголовки HTTP / 1.1 - единственная проблема.Существует ли простой способ исключить эти заголовки из буфера, чтобы содержимое файла содержало только зашифрованное изображение?
void readImage() throws IOException
{
socket = new Socket("wlab.cs.bilkent.edu.tr", 80);
DataOutputStream bw = new DataOutputStream(new DataOutputStream(socket.getOutputStream()));
bw.writeBytes("GET /~alper/pa2/images/ref2.jpg HTTP/1.1\n");
bw.writeBytes("Host: wlab.cs.bilkent.edu.tr:80\n\n");
File file = new File("img20.jpg");
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
DataInputStream in = new DataInputStream(socket.getInputStream());
DataOutputStream dos = new DataOutputStream(fos);
int count;
byte[] buffer = new byte[8192];
while ((count = in.read(buffer)) > 0)
{
dos.write(buffer, 0, count);
dos.flush();
}
dos.close();
System.out.println("image transfer done");
socket.close();
}
Загруженное изображение содержит эти строки вверху:
HTTP/1.1 200 OK
Date: Fri, 30 Dec 2011 18:30:50 GMT
Server: Apache/2.2.3 (Debian) mod_jk/1.2.18 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch4 mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8
Last-Modified: Tue, 20 Dec 2011 19:12:23 GMT
ETag: "502811-6b0e-4b48ad8d273c0"
Accept-Ranges: bytes
Content-Length: 27406
Content-Type: image/jpeg