-
应用REST接口获取GeoServer中的图层列表
添加时间:2013-5-25 点击量:比来在工作的过程中,有一个需求是在外部法度中对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);
}
?>博客声明:
本博客中的所有文章,除题目中注明“转载”字样外,其余所有文章均为本人原创或在查阅材料后总结完成,引用非转载文章时请注明此声明。—— 博客园-pallee
彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》