반응형
<%@page language = "java" pageEncoding = "utf-8" import = "java.io.*,java.net.URL,java.net.URLConnection,org.apache.commons.io.IOUtils" %>
<%
String GET_URL = request.getParameter("url");
URL tempURL = new URL(GET_URL);
byte[] bytes = null;
URLConnection conn = tempURL.openConnection();
bytes = IOUtils.toByteArray(conn.getInputStream());
System.out.println("bytes Length: " + bytes.length);
String THIS_URL = request.getRequestURL().toString();
String PROXY_URL = THIS_URL + "?url=";
System.out.println("GET_URL : " + GET_URL);
System.out.println("THIS_URL : " + THIS_URL);
System.out.println("PROXY_URL : " + PROXY_URL);
String contentType = conn.getContentType();
response.setContentType(contentType);
System.out.println("contentType: " + contentType);
if (GET_URL.contains("cur") || contentType.contains("image")) {
out.clear();
out = pageContext.pushBody();
byte[] data = bytes;
response.setHeader("Content-length", Integer.toString(data.length));
response.setHeader("Accept-Ranges", "bytes");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setContentType("text/plain;charset=UTF-8");
response.getOutputStream().write(data, 0, data.length);
response.getOutputStream().flush();
}
else {
String output = new String(bytes);
System.out.println("contentLength: " + output.length());
output = output.replace("http://static.naver.net", PROXY_URL + "http://static.naver.net");
output = output.replace("https://ssl.pstatic.net/static", PROXY_URL + "https://ssl.pstatic.net/static");
output = output.replace("return\"http://\"+this.prefix+\"onetile\"", "return\"" + PROXY_URL + "http://\"+this.prefix+\"onetile\"");
output = output.replace("_parse:function(t){var e=t.split", "_parse:function(t){t='" + GET_URL + "';var e=t.split");
String temp = THIS_URL.replace(request.getScheme() + "://", "") + "?url=" + request.getScheme() + "://openapi.map.naver.com";
output = output.replace("_sync:function(t,e){i.forEach(t,function(t){", "_sync:function(t,e){i.forEach(t,function(t){t=t.replace(location.hostname,'" + temp + "');");
output = output.replace("&uri", "%26uri");
output = output.replace("&useStyleMap", "%26useStyleMap");
output = output.replace("&time", "%26time");
output = output.replace("(F?\"https\":\"http\")", "(F?\"" + PROXY_URL + "https\":\"" + PROXY_URL + "http\")");
output = output.replace("&\")+s.callbackname", "%26\")+s.callbackname");
output = output.replace("!u.test(e)", "u.test(e)");
output = output.replace("e=\"\";", "e=\"\";e=decodeURIComponent(e);e=e.split('url')[1];");
output = output.replace("http://rts1.map.naver.net", PROXY_URL + "http://rts1.map.naver.net");
//output = output.replace("removeDOMListener:function(t,n,o){", "removeDOMListener:function(t,n,o){console.log(t);console.log(i);");
out.print(output);
}
System.out.println("");
%>
반응형
'GIS' 카테고리의 다른 글
geotiff to png, geotiff get extent, shp to geojson, java (0) | 2020.01.16 |
---|---|
fabricjs + openlayers test (0) | 2019.12.19 |
how-to-get-map-units-to-find-current-scale-in-openlayers (0) | 2019.11.15 |
insert geometry type to geoserver meta table (0) | 2019.09.17 |
shp to oracle (0) | 2019.09.02 |