
import java.io.*;
import java.net.*;

class MapDownloader
{
	public static void main(String[] s) throws Exception
	{
		Socket socketToServer = new Socket ("map.meta.ua", 80);
		PrintStream serverOS = new PrintStream (socketToServer.getOutputStream());
		DataInputStream serverDIS = new DataInputStream(socketToServer.getInputStream());
		
		// 1: cookie
		serverOS.println("GET /?map=kiev&l=ru HTTP/1.0");
		serverOS.println("Host: map.meta.ua\r\n");
      	String line;		
      	while ( (line = serverDIS.readLine()) != null && line.toLowerCase().indexOf("uamap_cuid")==-1); // System.out.println(line);;
System.out.println(line);     	
//		int cookieStartsAt = line.toLowerCase().indexOf("value=\"".length(), line.toLowerCase().indexOf("uamap_cuid"));
//		int cookieEndsAt = line.indexOf("\"", cookieStartsAt+1);
//System.out.println(cookieStartsAt);     			
//System.out.println(cookieEndsAt);     			

		String cookie = line.substring(60, 92);
System.out.println(cookie);
socketToServer.close();


// map size


		socketToServer = new Socket ("map.meta.ua", 80); 
		serverOS = new PrintStream (socketToServer.getOutputStream());
		serverOS.println("GET /cmd.php?lg=t&cmd=set_mapsize&cmd_param=4&rq=new&st=0&l=ru&map=kiev&uamap_cuid="+cookie+" HTTP/1.0");
//		serverOS.println("Cookie: b=b; hotlog=1");
		serverOS.println("Host: map.meta.ua\r\n");
	    serverDIS = new DataInputStream(socketToServer.getInputStream());
	    while ( (line = serverDIS.readLine()) != null); // System.out.println(line);;
	    

		socketToServer = new Socket ("rmt.h.vnetgis.com", 80);
		serverOS = new PrintStream (socketToServer.getOutputStream());
		serverOS.println("GET /?st=0&map=kiev&rq=get_map&l=ru&uamap_cuid="+cookie+" HTTP/1.0");
//		serverOS.println("Cookie: b=b; hotlog=1");
		serverOS.println("Host: rmt.h.vnetgis.com\r\n");
	    serverDIS = new DataInputStream(socketToServer.getInputStream());

	FileOutputStream outFile = new FileOutputStream ("Response0.png");
	while (!(line = serverDIS.readLine()).equals("")); // System.out.println(line);; // skip headers
	// start reading serverDIS in binary mode until -1
	int bytesRead;
	int BUFFER_SIZE = 1024;	
 	byte[] buffer = new byte[BUFFER_SIZE];
 	while ((bytesRead = serverDIS.read(buffer)) != -1)
		outFile.write(buffer, 0, bytesRead);
	outFile.flush();
	outFile.close();




// full zoom in

		socketToServer = new Socket ("map.meta.ua", 80); 
		serverOS = new PrintStream (socketToServer.getOutputStream());
		serverOS.println("GET /cmd.php?lg=t&cmd=set_zoom_size&cmd_param=9&rq=new&st=1&l=ru&map=kiev&uamap_cuid="+cookie+" HTTP/1.0");
//		serverOS.println("Cookie: b=b; hotlog=1");
		serverOS.println("Host: map.meta.ua\r\n");
	    serverDIS = new DataInputStream(socketToServer.getInputStream());
	    while ( (line = serverDIS.readLine()) != null); // System.out.println(line);;
	    
		socketToServer = new Socket ("rmt.h.vnetgis.com", 80);
		serverOS = new PrintStream (socketToServer.getOutputStream());
		serverOS.println("GET /?st=1&map=kiev&rq=get_map&l=ru&uamap_cuid="+cookie+" HTTP/1.0");
//		serverOS.println("Cookie: b=b; hotlog=1");
		serverOS.println("Host: rmt.h.vnetgis.com\r\n");
	    serverDIS = new DataInputStream(socketToServer.getInputStream());
	    


	outFile = new FileOutputStream ("Response1.png");
	while (!(line = serverDIS.readLine()).equals("")); // System.out.println(line);; // skip headers
	// start reading serverDIS in binary mode until -1
	BUFFER_SIZE = 1024;	
 	buffer = new byte[BUFFER_SIZE];
 	while ((bytesRead = serverDIS.read(buffer)) != -1)
		outFile.write(buffer, 0, bytesRead);
	outFile.flush();
	outFile.close();

   
   
    for (int i=2; i<20; i++)
	 {	
	 
	 
	 		socketToServer = new Socket ("map.meta.ua", 80); 
			serverOS = new PrintStream (socketToServer.getOutputStream());
			serverOS.println("GET /cmd.php?lg=t&st="+(i-1)+"&l=ru&map=kiev&cmd=fixed_mov&cmd_param=left&rq=new&uamap_cuid="+cookie+" HTTP/1.0");
//		serverOS.println("Cookie: b=b; hotlog=1");
		serverOS.println("Host: map.meta.ua\r\n");
	    serverDIS = new DataInputStream(socketToServer.getInputStream());
	    while ( (line = serverDIS.readLine()) != null); // System.out.println(line);;
	    
		socketToServer = new Socket ("rmt.h.vnetgis.com", 80);
		serverOS = new PrintStream (socketToServer.getOutputStream());
		serverOS.println("GET /?st="+i+"&map=kiev&rq=get_map&l=ru&uamap_cuid="+cookie+" HTTP/1.0");
//		serverOS.println("Cookie: b=b; hotlog=1");
		serverOS.println("Host: rmt.h.vnetgis.com\r\n");
	    serverDIS = new DataInputStream(socketToServer.getInputStream());

	 	outFile = new FileOutputStream ("Response"+i+".png");
	while (!(line = serverDIS.readLine()).equals("")); // System.out.println(line);; // skip headers
	// start reading serverDIS in binary mode until -1
	BUFFER_SIZE = 1024;	
 	buffer = new byte[BUFFER_SIZE];
 	while ((bytesRead = serverDIS.read(buffer)) != -1)
		outFile.write(buffer, 0, bytesRead);
	outFile.flush();
	outFile.close();

	 
	 
	 }
   
	}
}