Senden Sie eine XML-Post-Anfrage an einen Webserver mit CURL

Ich versuche mit PHP und Curl eine Anfrage an einen Webserver 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.

Dies ist, was ich tun möchte: Es gibt einen etablierten Webdienst (zum Beispiel: Webkarten-Dienst) und ich möchte, dass mein PHP-Code eine Post-XML-Anfrage an diesen Dienst sendet. Als Antwort möchte ich eine XML-Datei erhalten.

Das habe ich 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 bin ziemlich neu in PHP und verwende auch Curl und ich denke, ich vermisse einige Konzepte. Meine Fragen sind: 1) Was ist die Zeichenfolge (der Link), die ich eingeben muss:

          curl_setopt($ch, CURLOPT_URL, ''); 

Ist es der Hostname des Dienstes, an den ich die Anfrage senden möchte?

2) In Zeile 6 enthält die Variable $ xml die XML-Datei, die ich als Anfrage senden möchte. Ist es richtig oder soll diese Variable etwas anderes enthalten?

3) In welchen Fällen muss ich einen httpheader oder Header (row3 und row4) verwenden?

Danke für die Hilfe. Dimitris

Antworten auf die Frage(2)

Ihre Antwort auf die Frage