jogi: XML String an Server schicken (HTTPS)

Beitrag lesen

Hallo zusammen,

ich schicke eine XML-Datei per HTTP POST an einen Server der firma X.
Der Server generiert daraufhin eine Antwort.

[PHP]
$file = "";
$fp1 = fopen("./anfrage.xml","r");
$kennung = base64_encode("user:pass");
while(!feof($fp1))
{
    $file1 = fgets($fp1, 100);
    $file = $file.$file1;
}

$data = "";
$fp = fsockopen("ssl://server.com",443,$errstr,$errno);
if(!$fp)
{
    die();
}
else
{
    $file = addslashes($file);
    $data = $file;
    fputs($fp, "POST /webservice/XMLServlet HTTP/1.0\r\n");
    fputs($fp, "Host: server.com\r\n");
    fputs($fp, "Authorization: Basic ".$kennung." \r\n");
    fputs($fp, "Content-length: ". strlen($data) ."\r\n");
    fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    fputs($fp, $data);
}
while(!feof($fp))
{
    $fget = fgets($fp, 128);
    $data .= $fget;
}
fclose($fp);
$xml_arr = explode("\r\n\r\n",$data);
echo $xml_arr[1];
[/PHP]

Die Antwort kommt nach ca. 10 Sekunden.

Nun gibt es von der Firma X einen Testsimulator, der eine XML-Anfrage an den Server schickt, bei dem die Antwort schon nach 2 Sekunden kommt.
[PHP]
<form method=POST target="Output" action="https://server.com">
  <textarea name="xml_data" rows="10" cols="56">
     -- gleicher inhalt wie in anfrage.xml
  </textarea>
  <input type=submit  value="   START SIMULATION   ">
</form>
[/PHP]
Da der Server eine Anmeldung erfordert kommt nach dem Aufruf ein Anmeldefenster, ansonsten werden die gleichen Daten an den Server geschickt.

Kann mir jemand erkären, wieso meine Variante so viel langsamer ist ?
Welche Möglichkeiten gibt es noch, die Daten per HTTPS an den Server zu schicken ?
(CURL habe ich schon probiert, dauert auch 10 Sekunden.)

Gruß jogi