php以post形式发送xml的方法
本文实例讲述了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))
{
printcurl_error($ch);
}
curl_close($ch);
方法二,使用fsockopen:
$fp=fsockopen($server_ip,80);
fputs($fp,"POST$pathHTTP/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");//allheaderssent
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程序设计有所帮助。