zoukankan      html  css  js  c++  java
  • 使用REST接口获取GeoServer中的图层列表

      最近在工作的过程中,有一个需求是在外部程序中对GeoServer进行管理操作,通过查阅资料发现GeoServer的REST接口可以满足需求。REST接口使用HTTP调用的方式,无需登录Web管理界面就可以对GeoServer进行简单的调用和配置。

      GeoServer官网对REST的配置API和示例的介绍地址为:http://docs.geoserver.org/stable/en/user/rest/index.html

      下面的程序通过使用REST接口,请求GeoServer中图层的列表。

    <?php
        $url = "http://localhost:8180/geoserver/rest/layers/";
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//设置为true,表示获取的内容以字符串的形式返回
        curl_setopt($ch, CURLOPT_VERBOSE, true);//设置为true,返回执行过程中的异常
        curl_setopt($ch, CURLOPT_GET, True);
        $passwordStr = "admin:geoserver";//geoserver的用户名:密码
        curl_setopt($ch, CURLOPT_USERPWD, $passwordStr);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept:application/json"));//HTTP请求头信息
        $successCode = 200;
        $buffer = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);
        if($info['http_code'] != $successCode){
            $msgStr = "请求失败!";
            echo $msgStr;
        }else{
            $outputArray = json_decode($buffer, true);
            $layerInfos = $outputArray['layers']['layer'];
            foreach($layerInfos as $k => $v){
                $layerNames[] = $v['name'];
            }
            echo json_encode($layerNames);
        }
    ?>
  • 相关阅读:
    技术学习之分析思想
    测试类的必要性
    Webstorm配置运行React Native
    React Native
    npm太慢, 淘宝npm镜像使用方法
    数据库设计那些事儿
    Linux 安装nodejs
    Java
    解决 vmware workstations 14 开启虚拟机黑屏
    编程与盖楼的思考
  • 原文地址:https://www.cnblogs.com/pallee/p/3098898.html
Copyright © 2011-2022 走看看