PHP发布到另一个服务器然后返回其他服务器的响应

时间:2013-10-21 16:27:31

标签: php post adapter

我有几台服务器正在协同工作。

  • Server A对来自的帖子提供xml回复。
  • Server B接受一个帖子请求,略微修改帖子值然后对服务器A发帖(想想适配器模式)。然后,服务器B应等待服务器A的xml响应,然后返回该响应。

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

2 个答案:

答案 0 :(得分:14)

我对我的一个脚本有类似的需求,并且能够使用以下内容完成此操作,

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

答案 1 :(得分:1)

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

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

另请参阅此处:PHP: send POST request then read XML response?