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);
        }
    ?>
  • 相关阅读:
    Total Video Converter v3.71 注册码
    Web下载文件
    语音朗读
    SQLSERVER 删除重复记录
    Windows8[启用IIS8 asp.net功能]
    黑链代码
    在ASP.NET中防止注入攻击[翻译]
    Oracle 正确删除archivelog文件
    浅谈网站黑链检测和清除的方法
    解密SQLServer2000加密存储过程,函数,触发器,视图
  • 原文地址:https://www.cnblogs.com/pallee/p/3098898.html
Copyright © 2011-2022 走看看