envio XML por Metodo Post
necesito enviar una cadena XML en crudo a una URL mediante el metodo POST sin usar un formulario HTML
<?php
header ("Content-type: text/xml");
function http_post($server, $port, $url, $xmlrequire) {
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)";
$urlencoded = $xmlrequire;
$content_length = strlen($urlencoded);
$headers = "POST ".$url." HTTP/1.1
Accept: */*
Accept-Language: en-au
Content-Type: text/xml
User-Agent: $user_agent
Host: $server
Connection: Keep-Alive
Cache-Control: no-cache
Content-Length: $content_length
";
$fp = fsockopen($server, $port, $errno, $errstr);
if (!$fp) {
return false;
}
fputs($fp, $headers);
fputs($fp, $urlencoded);
$ret = "";
while (!feof($fp))
$ret.= fgets($fp, 1024);
fclose($fp);
return $ret;
}
$xmlrequire = "<?xml version="1.0" encoding="iso-8859-1" ?>
<textoxml>
<item>123</item>
</textoxml>";
$resultado=http_post("www.servidor.com.co",80,"/script",$xmlrequire);
$resultado=substr($resultado, strpos($resultado,"<?xml"));
$pos=strlen($resultado)-5;
$resultado=substr($resultado,0,$pos);
print $resultado;
?>
header ("Content-type: text/xml");
function http_post($server, $port, $url, $xmlrequire) {
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)";
$urlencoded = $xmlrequire;
$content_length = strlen($urlencoded);
$headers = "POST ".$url." HTTP/1.1
Accept: */*
Accept-Language: en-au
Content-Type: text/xml
User-Agent: $user_agent
Host: $server
Connection: Keep-Alive
Cache-Control: no-cache
Content-Length: $content_length
";
$fp = fsockopen($server, $port, $errno, $errstr);
if (!$fp) {
return false;
}
fputs($fp, $headers);
fputs($fp, $urlencoded);
$ret = "";
while (!feof($fp))
$ret.= fgets($fp, 1024);
fclose($fp);
return $ret;
}
$xmlrequire = "<?xml version="1.0" encoding="iso-8859-1" ?>
<textoxml>
<item>123</item>
</textoxml>";
$resultado=http_post("www.servidor.com.co",80,"/script",$xmlrequire);
$resultado=substr($resultado, strpos($resultado,"<?xml"));
$pos=strlen($resultado)-5;
$resultado=substr($resultado,0,$pos);
print $resultado;
?>
el lio es que no funciona rápidamente, existe un lio en algun lugar y no lo encuentro
sugerencias??
sugerencias??
