php 如何发送xml报文

WBOY
Release: 2016-06-23 14:04:39
Original
955 people have browsed it

   POST <URL> HTTP/1.0  USER-Agent: <Client Application Name>  Content-Type: application/x-fox  Content-Length: nnnn    <?xml version=”1.0”?>  <?FOX FOXHEADER=”100” VERSION=”100” SECURITY=”NONE” LANG=CHS?>  <FOX>  ...  </FOX>
Copy after login


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


回复讨论(解决方案)

发到哪?你的代码是如何写的?

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

<?phpif( $_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 = <<<xml<?xml version="1.0"?><FOX><hello>world</hello></FOX>xml;$setting = array(    'http' => array(    'method' => 'POST',    'user_agent' => '<Client Application Name>',    '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;
Copy after login

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

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

PHP code?1234567891011121314151617181920212223242526272829303132
有什么现成的类库?

有用过fsockopen的吗?这个好像可以设置http报头

清明放假了?没人了?

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template