🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
服务器无法访问外网, 使用者也是内网, 有另一个服务器是专门做代理机的, 前端访问后台的接口, 后台通过代理机调用天地图 天地图提示418时,看看url地址是不是正确. ``` networkIp networkPort 代理机的ip和端口 HttpUtil 是hutool工具类 调用: 接口地址?T=cva\_w&x=55&y=25&l=6&tk=换成自己的key private String[] tarr = new String[]{"t3","t4","t5","t6"}; 这个是只使用了瓦片, 前端用的其他GIS代码, 这些参数是其处理时设置的访问天地图地震, 参数和那个一样 public void tianditu(@RequestParam String T, @RequestParam String tk, @RequestParam String x, @RequestParam String y, @RequestParam String l, HttpServletResponse response) { try { String t4 = tarr[RandomUtil.randomInt(0, 4)]; String url = "http://"+t4+".tianditu.com/DataServer?T=" + T + "&tk="+tk+"&x="+x+"&y="+y+"&l="+l; HttpResponse httpResponse = HttpUtil.createGet(url, true) .setHttpProxy(networkIp, networkPort).executeAsync(); OutputStream out = response.getOutputStream(); // 写入内容 httpResponse.writeBody(out, false, null); // 执行写入 刷新此输出流并强制写入任何缓冲的输出字节 out.flush(); } catch (Exception e) { log.error("tianditu 天地图代理访问", e); } } url 是完整的请求地址, 注意传参时要把完整地址都设置为url的参数, 否则会导致天地图路径上的?&的参数被识别为这个请求的 接口地址?url=https://api.tianditu.gov.cn/api?v=4.0%26tk=换成自己的key public void tdt(String url, HttpServletResponse response) { try { HttpResponse httpResponse = HttpUtil.createGet(url, true) .setHttpProxy(networkIp, networkPort).executeAsync(); OutputStream out = response.getOutputStream(); // 写入内容 httpResponse.writeBody(out, false, null); // 执行写入 刷新此输出流并强制写入任何缓冲的输出字节 out.flush(); } catch (Exception e) { log.error("tianditu 天地图代理访问", e); } } ```