// Documentation : http://randochartreuse.free.fr/mobac2.x/documentation/#bsh // Version : 16/04/2021 //Test du fonctionnement de cookies mais j’y comprends pas grand chose ! Besoin d’aide... // Nom de la carte affiché dans MOBAC name = "cookies (Test) Tchéquie-2021"; // Nom du serveur String MyServer = "webtiles.timepress.cz"; // MyUserAgent correspond à celui créé notemment avec la clé IGN // Par défaut, on trouve souvent MyUserAgent = "Mozilla/5.0 Gecko/20100101 Firefox/49.0"; String MyUserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.102 Safari/537.36"; // MyReferer peut être demandé http://www.cykloserver.cz/cykloatlas/ String MyReferer = "https://www.cykloserver.cz/cykloatlas/"; // MyFolder au format "dossier" ou "dossier1/dossier2/etc" String MyFolder = "open/cyklo_256"; tileType = "png"; // Type d’image fourni par le serveur tileSize = 256; // Facultatif : Supprimer la ligne dans le doute minZoom = 2; // Facultatif : Zoom minimal souhaité (et/ou fourni par le serveur) maxZoom = 19; // Facultatif : Zoom maximal souhaité (et/ou fourni par le serveur) -> Maximum 22 pour Mobac MyTest = "KO"; // "OK" pour test if (MyTest == "OK") { // Faire des tests de cookies URL url = new URL("https://webtiles.timepress.cz/set_token?token=TotoPCW0KtmgL4fHkU95CcGSkPNsEUEvyIp8Vn3yEdly3IBVQ4LonX2vGxttQh1JUUegeu9V%2FyG6YwpmwjQ3114dxL0NsgL%2F00%2F2GKZJbNOb%2Fk6kyvHuOPfIiEXRlG3CiEzHELa5MFmbM4lCTdE4SbypkA%3D%3D&_=1585512161416"); URLConnection conn = url.openConnection(); for (int i = 0;; i++) { String headerName = conn.getHeaderFieldKey(i); String headerValue = conn.getHeaderField(i); // javax.swing.JOptionPane.showMessageDialog(null, headerValue); if (headerName == null && headerValue == null) { break; } if ("Set-Cookie".equalsIgnoreCase(headerName)) { String[] fields = headerValue.split(";\\s*"); for (int j = 0; j < fields.length; j++) { if ("secure".equalsIgnoreCase(fields[j])) { javax.swing.JOptionPane.showMessageDialog(null, "secure=true"); } else if (fields[j].indexOf('=') > 0) { String[] f = fields[j].split("="); if ("expires".equalsIgnoreCase(f[0])) { javax.swing.JOptionPane.showMessageDialog(null, "expires = "+ f[1]); javax.swing.JOptionPane.showMessageDialog(null, f[0] + " = "+ f[1]); } else if ("domain".equalsIgnoreCase(f[0])) { javax.swing.JOptionPane.showMessageDialog(null, "domain = "+ f[1]); } else if ("PHPSESSID".equalsIgnoreCase(f[0])) { MyPHPSESSID = f[1]; javax.swing.JOptionPane.showMessageDialog(null, "PHPSESSID"+ f[1]); } else if ("path".equalsIgnoreCase(f[0])) { javax.swing.JOptionPane.showMessageDialog(null, "path = "+ f[1]); } else if ("information".equalsIgnoreCase(f[0])) { Myinformation = f[1]; javax.swing.JOptionPane.showMessageDialog(null, "Iinformation = "+ f[1]+" \nNombre = "+ fields.length +" \nj = "+ j +" \nfields[j] = "+ fields[j] +" \nfields[0] = "+ fields[0] +" \nfields[1] = "+ fields[1] +" \nfields[2] = "+ fields[2] ); } else { javax.swing.JOptionPane.showMessageDialog(null, f[0] + " = "+ f[1]); } } } for (int j = 0; j < fields.length; j++) { if ("secure".equalsIgnoreCase(fields[j])) { javax.swing.JOptionPane.showMessageDialog(null, "secure=true"); } else if (fields[j].indexOf('=') > 0) { String[] f = fields[j].split("="); javax.swing.JOptionPane.showMessageDialog(null, f[0] + " !=! "+ f[1]); } } } } } String getTileUrl(int Zoom, int X, int Y) { if (Zoom < 7) { // gestion Zoom < 7, on prend une carte générique Google pour voir le monde entier return "https://mt0.google.com/vt?lyrs=m&hl=fr&z=" + Zoom + "&x=" + X + "&y=" + Y; }else{ // url7_de_test = "https://webtiles.timepress.cz/open/cyklo_256/14/8935/5580" return "https://" + MyServer + "/" + MyFolder + "/" + Zoom + "/" + X + "/" + Y; } } void addHeaders(java.net.HttpURLConnection conn) { conn.addRequestProperty("Referer",MyReferer); conn.addRequestProperty("User-Agent",MyUserAgent); // conn.addRequestProperty("Cookie","PHPSESSID=" + MyPHPSESSID); conn.addRequestProperty("Cookie","information=" + Myinformation); } System.clearProperty("http.proxyHost");