Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2015, 08:56
Mathiasb
 
Fecha de Ingreso: enero-2015
Ubicación: Montevideo
Mensajes: 2
Antigüedad: 9 años, 3 meses
Puntos: 0
Pregunta Bad Request al enviar XML a WebServices

Hola, estoy tratando de enviar un archivo XML a un webserver por HTML y php pero no me esta saliendo, al consultar en la respuesta, me aparece el mensaje:

"Bad Request - Invalid Hostname

HTTP Error 400. The request hostname is invalid."

El código que hice para comunicarme es este,

Cita:
<html>
<head>
<title>Prueba</title>
</head>
<body>
Código PHP:
    <?php

        $xml 
$_FILES['filetoupload'];
        
$filepath $xml['tmp_name'];
        
$filename $xml['name'];

        echo 
"<br>Archivo temporal: ".$filename."<br>Guardado en: ".$filepath."<br><br>";

        
//Iniciamos una sesion cURL
        
$curl curl_init();

        
//Indicamos a donde deseamos enviar nuestro post
        
curl_setopt($curlCURLOPT_URL,"http://www.host.com" );

        
//Indicamos lo que queremos enviar en nuestro post, en este caso un xml
        
curl_setopt($curl CURLOPT_POSTFIELDS,$xml);

        
curl_setopt($curlCURLOPT_HTTPHEADER,
                    array(
'Content-Type: application/x-www-form-urlencoded'
                            
'Content-Length: strlen($xml)',
                            
'Host: http://www.host.com'));

        
//Añadimos una opción más para poder almacenar la respuesta en una variable
        
curl_setopt($curlCURLOPT_RETURNTRANSFER1);

        
//Ejecutamos el curl y almacenamos la respuesta en una variable
        
$respuesta=curl_exec($curl);

        
print_r($respuesta);

        if(
curl_errno($curl))
        {
            print 
'<br>ERROR: '.curl_error($curl);
        }
        else
        {
            
//Cerramos nuesta sesión
            
curl_close($curl);    
        }

    
?>
Cita:
</body>
</html>
esto es en el archivo upload.php

El archivo se sube en index.php:

<form method="post"
enctype="multipart/form-data"
'action="upload.php"'
>
<input type="file" name="filetoupload">
<input type="submit" value="Envia!">
</form>




Al agregar este código, aparece el siguiente mensaje:


Código PHP:
        if(curl_errno($curl))
        {
            print 
'<br>ERROR: '.curl_error($curl);
        }
        else
        {
            
//Cerramos nuesta sesión
            
curl_close($curl);    
        } 
¿Qué puede estar mal o estar faltándose?

Saludos