Envie uma solicitação de postagem XML para um servidor da Web com CURL
Estou tentando enviar uma solicitação para um servidor da web usando php e curl. Eu não fiz algo assim antes e, embora existam muitos bons exemplos on-line, tenho algumas dificuldades em entender alguns dos comandos de curl.
Isto é o que eu quero fazer: Existe um serviço web estabelecido (por exemplo: serviço de mapa da web) e eu quero que meu código php envie uma solicitação de post XML para este serviço. Como resposta, quero obter um arquivo XML.
Isso é o que eu tenho até agora:
$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 eu disse, eu sou muito novo em php e também no uso de curl e acho que estou perdendo alguns conceitos. Minhas perguntas são: 1) Qual é a string (link) que eu tenho que colocar no:
curl_setopt($ch, CURLOPT_URL, '');
É o nome do host do serviço para o qual desejo enviar a solicitação?
2) Na linha 6, a variável $ xml contém o arquivo xml que eu quero enviar como uma solicitação. É correto ou esta variável deve conter alguma outra coisa?
3) Em quais casos eu preciso usar um httpheader ou header (row3 e row4);
Obrigado pela ajuda. Dimitris