
Bad Request al tratar de envíar un XML
Publicado por Mathias (1 intervención) el 07/01/2015 15:38:24
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,
esto es en el archivo upload.php
El archivo se sube en index.php:
Al agregar este código, aparece el siguiente mensaje:
¿Qué puede estar mal o estar faltándose?
Saludos
"Bad Request - Invalid Hostname
HTTP Error 400. The request hostname is invalid."
El código que hice para comunicarme es este,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<html>
<head>
<title>Prueba</title>
</head>
<body>
<?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($curl, CURLOPT_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($curl, CURLOPT_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($curl, CURLOPT_RETURNTRANSFER, 1);
//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);
}
?>
</body>
</html>
El archivo se sube en index.php:
1
2
3
4
5
6
7
<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:
1
2
3
4
5
6
7
8
9
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
Valora esta pregunta


0