Ich versuche, eine Anfrage an einen Webserver mit PHP und Curl zu senden. Ich habe so etwas noch nie gemacht und obwohl es viele nette Beispiele online gibt, habe ich einige Schwierigkeiten, einige der curl-Befehle zu verstehen.Senden Sie eine XML-Post-Anfrage an einen Webserver mit CURL
Dies ist, was ich tun möchte: Es gibt einen etablierten Web-Service (zum Beispiel: Web-Map-Service) und ich möchte meine PHP-Code eine Post-XML-Anfrage an diesen Dienst senden. Als Antwort möchte ich eine XML-Datei erhalten.
Das ist, was ich habe bis jetzt:
$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;
Wie gesagt ich in php recht neu bin und auch im Umgang mit curl und ich denke, ich einige Konzepte fehle. Meine Fragen sind: 1) Was ist die Zeichenfolge (link), die ich in die setzen müssen:
curl_setopt($ch, CURLOPT_URL, '');
Ist es der Host-Name des Dienstes, den ich die Anfrage senden?
2) In Zeile 6 enthält die Variable $ xml die XML-Datei, die ich als Anfrage senden möchte. Stimmt es oder diese Variable soll etwas anderes enthalten?
3) In welchen Fällen muss ich einen httpheader oder header (row3 und row4) verwenden;
Danke für die Hilfe. Dimitris
Also innerhalb der Tags ich die xml alle Zeichenfolge setzen? –
user1919
Wenn Ihr gesamtes XML in $ xml ist, sollte diese Zeile lauten: curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ xml); – PKeidel
Eine andere Sache, die ich nicht klar verstanden habe, ist, was die Variable $ url enthält. Ist der Hostname des Servers, an den ich die Anfrage senden werde? – user1919