我做了一些研究,还检查了stackoverflow的答案。但是我只是无法正确获取我的代码,请帮助。代码可以运行,但我无法获取图像,它显示 0kb。
Socket socket = new Socket(addr, port);
byte [] buffer = new byte[1024];
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
writer.println("GET " + url.getFile() + " HTTP/1.0\r\n");
writer.println("HOST:" + url.getHost() + "\r\n");
writer.println("\r\n");
DataInputStream in = new DataInputStream(socket.getInputStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
int n = 0;
while (-1!=(n=in.read(buffer)))
{
out.write(buffer, 0, n);
}
out.close();
in.close();
byte[] response = out.toByteArray();
FileOutputStream fos = new FileOutputStream("0.jpeg");
fos.write(response);
fos.close();
}catch (Exception e){
System.out.println(e.toString());
}