7

我有几台服务器,它们一起工作。

  • Server A对进来的帖子给出一个 xml 响应。
  • Server B接受一个发布请求,稍微修改发布值,然后向服务器 A 发布一个帖子(想想适配器模式)。然后,服务器 B 应等待服务器 A 的 xml 响应,然后返回该响应。

有没有一种简单的方法可以使用 php 的内置功能来做到这一点?

4

2 回答 2

16

我对我的一个脚本也有类似的需求,并且能够使用以下方法来做到这一点,

$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 返回的内容。

于 2013-10-21T21:43:01.267 回答
1

看看 cURL: http: //php.net/manual/en/book.curl.php

这应该允许您修改 $_POST 数组,将修改后的值发送到另一台服务器,并处理响应。

另外,请参见此处:PHP:发送 POST 请求然后读取 XML 响应?

于 2013-10-21T16:32:04.623 回答