Wyślij żądanie XML do serwera WWW za pomocą CURL
Próbuję wysłać żądanie do serwera WWW za pomocą php i curl. Nie zrobiłem wcześniej czegoś takiego i chociaż jest wiele fajnych przykładów online, mam pewne trudności ze zrozumieniem niektórych poleceń zwijania.
To jest to, co chcę zrobić: Istnieje ustalona usługa sieciowa (na przykład: usługa map internetowych) i chcę, aby mój kod php wysłał żądanie post XML do tej usługi. W odpowiedzi chcę uzyskać plik XML.
Oto, co mam do tej pory:
$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;
Jak powiedziałem, jestem całkiem nowy w php, a także w używaniu curl i myślę, że brakuje mi niektórych pojęć. Moje pytania to: 1) Jaki jest ciąg (link), który muszę umieścić w:
curl_setopt($ch, CURLOPT_URL, '');
Czy jest to nazwa hosta usługi, do której chcę wysłać żądanie?
2) W wierszu 6 zmienna $ xml zawiera plik xml, który chcę wysłać jako żądanie. Czy to poprawne, czy ta zmienna ma zawierać coś innego?
3) W jakich przypadkach muszę użyć nagłówka http lub nagłówka (wiersz 3 i wiersz 4);
Dzięki za pomoc. Dimitris