Enviar una solicitud de publicación XML a un servidor web con CURL
Estoy intentando enviar una solicitud a un servidor web utilizando php y curl. No he hecho algo como esto antes y, aunque hay muchos buenos ejemplos en línea, tengo algunas dificultades para entender algunos de los comandos de curl.
Esto es lo que quiero hacer: hay un servicio web establecido (por ejemplo: servicio de mapas web) y quiero que mi código php envíe una solicitud de envío de XML a este servicio. Como respuesta quiero obtener un archivo XML.
Esto es lo que tengo hasta ahora:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '');
/*curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));*/
/* curl_setopt($ch, CURLOPT_HEADER, 0);*/
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
/*curl_setopt($ch, CURLOPT_REFERER, '');*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ch_result = curl_exec($ch);
curl_close($ch);
echo $ch_result;
Como dije, soy bastante nuevo en PHP y también en el uso de curl y creo que me faltan algunos conceptos. Mis preguntas son: 1) ¿Cuál es la cadena (enlace) que tengo que poner en el:
curl_setopt($ch, CURLOPT_URL, '');
¿Es el nombre de host del servicio al que quiero enviar la solicitud?
2) En la fila 6, la variable $ xml contiene el archivo xml que quiero enviar como solicitud. ¿Es correcto o se supone que esta variable contiene algo más?
3) En qué casos necesito usar un encabezado o encabezado (fila3 y fila4);
Gracias por la ayuda. Dimitris