curl_init - php curl post json
php, curl, encabezados y tipo de contenido (1)
Tengo problemas para trabajar con curl y encabezados devueltos por los servidores.
1) Mi archivo php en my_website.com/index.php se ve así (versión recortada):
<?php
$url = ''http://my_content_server.com/index.php'';
//Open connection
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
echo $result;
?>
El archivo php en my_content_server.com/index.php se ve así:
<?php
header("HTTP/1.0 404 Not Found - Archive Empty");
echo "Some content > 600 words to make chrome/IE happy......";
?>
Espero que cuando visite my_website.com/index.php, debería obtener un 404, pero eso no está sucediendo.
¿Qué estoy haciendo mal?
2) Básicamente lo que quiero lograr es:
my_content_server.com/index.php decidirá el tipo de contenido y enviará los encabezados apropiados, y my_website.com/index.php solo debe enviar el mismo tipo de contenido y otros encabezados (junto con los datos reales) al navegador. Pero parece que my_website.com/index.php está escribiendo sus propios encabezados? (O tal vez no entiendo el funcionamiento correcto).
saludos, JP
Insertar antes de curl_exec()
:
curl_setopt($ch,CURLOPT_HEADER,true);
En lugar de solo echo
el resultado, envíe los encabezados al cliente también:
list($headers,$content) = explode("/r/n/r/n",$result,2);
foreach (explode("/r/n",$headers) as $hdr)
header($hdr);
echo $content;