我有几个服务器,它们共同工作。
服务器A
对发来的帖子做出 XML 响应。服务器B
接收一个帖子请求,稍微修改帖子值然后将其提交到服务器 A(类似适配器模式)。服务器 B 应该等待服务器 A 的 XML 响应,然后返回该响应。
是否有一种使用 PHP 内置功能轻松完成此操作的方法?
我曾有一个脚本需要类似的操作,我使用以下方法实现了这个需求,
$url = URL_TO_RECEIVING_PHP;
$fields = array(
'PARAM1'=>$_POST['PARAM1'],
'PARAM2'=>$_POST['PARAM2']
);
$postvars='';
$sep='';
foreach($fields as $key=>$value)
{
$postvars.= $sep.urlencode($key).'='.urlencode($value);
$sep='&';
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
它将回显从你接收的PHP返回的内容。看一下cURL: http://php.net/manual/en/book.curl.php
这样可以让您修改$_POST数组,将修改后的值发送到其他服务器,并处理响应。
另外,请参阅此处: PHP:发送POST请求,然后读取XML响应?