xml、php、curl を使用して geoserver からアイテムを取得するために curl を使用する方法の例については、以下のコードを参照してください。
<?php
$xml_builder = '
<?xml version="1.0" encoding="utf-8"?>
<ogc:GetMap xmlns:ogc="http://www.opengis.net/ows"
xmlns:gml="http://www.opengis.net/gml"
version="1.2.0"
service="WMS">
<StyledLayerDescriptor version="1.0.0">
<NamedLayer>
<Name>myNs:roads</Name>
<NamedStyle>
<Name>simple_roads</Name>
</NamedStyle>
</NamedLayer>
</StyledLayerDescriptor>
<Output>
<Format>image/png</Format>
<Size>
<Width>600</Width>
<Height>320</Height>
</Size>
</Output>
<Exceptions>application/vnd.ogc.se+xml</Exceptions>
</ogc:GetMap>
';
// We send XML via CURL using POST with a http header of text/xml.
$ch = curl_init('http://localhost:8080/GeoServer/wms');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_builder);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ch_result = curl_exec($ch);
curl_close($ch);
// Print CURL result.
echo $ch_result;
?>
明らかに、XMLを変更して、必要なレイヤーに合わせて変更する必要があります。サーバーの観点からローカルホストにない場合は、curl_init の URL をサーバーに変更する必要もあります。
それがすべて機能する場合、返される画像であるため、多くの奇妙なテキストが印刷されるはずです。PNG ヘッダーの一部であるため、上部のテキストに PNG が表示されることがあります。