php以post形式发送xml的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php以post形式发送xml的方法。分享给大家供大家参考。具体方法如下:

方法一,使用curl:

复制代码 代码如下:
$xml_data = <xml>...</xml>";
$url = 'http://www.xxxx.com';
$header[] = "Content-type: text/xml";//定义content-type为xml
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
$response = curl_exec($ch);
if(curl_errno($ch))
{
    print curl_error($ch);
}
curl_close($ch);

方法二,使用fsockopen:

复制代码 代码如下:
$fp = fsockopen($server_ip, 80);
fputs($fp, "POST $path HTTP/1.0\r\n");
fputs($fp, "Host: $server\r\n");
fputs($fp, "Content-Type: text/xml\r\n");
fputs($fp, "Content-Length: $contentLength\r\n");
fputs($fp, "Connection: close\r\n");
fputs($fp, "\r\n"); // all headers sent
fputs($fp, $xml_data);
$result = '';
while (!feof($fp)) {
$result .= fgets($fp, 128);
}
return $result;

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

php jquery 实现新闻标签分类与无刷新分页

php jquery 实现新闻标签分类与无刷新分页

现在jquery的应用越来越广泛了,在很多网站的新闻板块都实现了 标签分类 + 无刷新分页 的效果。 也自己尝试写了一个,效果图如下(样式可以按用户需求自己去整):   接下...

php中防止恶意刷新页面的代码小结

防止恶意刷页面的原理是 要求在页面间传递一个验证字符串, 在生成页面的时候 随机产生一个字符串, 做为一个必须参数在所有连接中传递。同时将这个字符串保存在session中。 点连接或者表...

phplock(php进程锁) v1.0 beta1

在web开发中我们经常对我们的数据库耗时操作做缓存,但是可能出现一个陷阱,在缓存失效的一瞬间,大量的访问得到缓存失效的标示,都去后端查询数据库,导致同时大量的数据库耗时查询,出现数据库宕...

同一空间绑定多个域名而实现访问不同页面的PHP代码

<?php  switch ($_SERVER["HTTP_HOST"]) {      case&...

深入file_get_contents函数抓取内容失败的原因分析

用file_get_contents来抓取页面内容不成功,可能是因为有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents...