当前位置:Gxlcms > PHP教程 > php怎么发送xml报文

php怎么发送xml报文

时间:2021-07-01 10:21:17 帮助过:5人阅读

php 如何发送xml报文

POST HTTP/1.0
  USER-Agent:
  Content-Type: application/x-fox
  Content-Length: nnnn  
  
  
  
  ...
  


现在要发送如上格式的xml数据,试过curl但不成功,大家帮帮忙


------解决方案--------------------
CURL是可以的,但是参数设置比较麻烦。这种情况有一些现成的类库实现,提供一个简单的示例



if( $_SERVER['REQUEST_METHOD'] === 'POST' ){
// 接收
$content = file_get_contents('php://input');
$xml = simplexml_load_string($content);
echo "来自XML接收方的响应\n";
print_r( get_object_vars($xml) );
exit;
}

// 发送行为
$xml = <<

world

xml;

$setting = array(
'http' => array(
'method' => 'POST',
'user_agent' => '',
'header' => "Content-type: application/x-www-form-urlencoded",
'content' => $xml
)
);
$context = stream_context_create($setting);
$url = 'http://localhost/'. $_SERVER['REQUEST_URI'];
$response = file_get_contents($url, null, $context);

echo $response;

需要说明你的HTTP请求示例中,请求内容实体与报头需要相隔两组\r\n。另外你的XML文件格式不正确,而且标签属性里还包含全角符号

人气教程排行