2 curl Verbindungen hintereinander -> Problem

C4rter

Mitglied
Hallo,

ich habe ein Problem wenn ich 2 cURL Verbindungen kurz hintereinander aufrufe.
Ich will 2x einen HTTP Request an einen System-Dienst schicken.
Meine cURL Methode sieht so aus:
PHP:
function sendToSystemAgent($strCommand)
{
    define('POSTVARS', $strCommand);  // POST VARIABLES TO BE SENT
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"https://localhost/");
    curl_setopt($ch, CURLOPT_POST      ,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS    ,POSTVARS);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1);
    curl_setopt($ch, CURLOPT_HEADER      ,0);  // DO NOT RETURN HTTP HEADERS
    curl_setopt($ch, CURLOPT_PORT, 8081);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    //curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
    $data = curl_exec($ch);
    if($data == true)
    {
        curl_close($ch);
        return trim($data);//echo $data;
    }
    else if($data == false)
    {
        $strCurlError = curl_error($ch);
        curl_close($ch);
        return $strCurlError;
    }
    else
    {
        curl_close($ch);
    }
}

Ich möchte nun mit dem ersten Request prüfen ob der SystemDienst überhaupt läuft. Kurz danach möchte ich dann einen Request losschicken der mir einen String zurückschickt.
Mein erster Methodenaufruf:
sendToSystemAgent("?ConnectionTest");

Zum Test habe ich hier nach noch einen sleep(10); eingebaut.
Dann kommt mein zweiter Methodenaufruf:
sendToSystemAgent("?Action=ChangeUser&SetFirstName=".$_POST[vorname]."&SetLastName=".$_POST[nachname]);


Mein Problem nun:
Im System-Dienst kommt beim zweiten Aufruf als Parameter trotzdem

"?ConnectionTest"

statt

"?Action=ChangeUser&SetFirstName=".$_POST[vorname]."&SetLastName=".$_POST[nachname]

an, also 2x das Selbe bei 2 hintereinander erfolgenden Aufrufen. Ist dies ein Fehler von cURL oder macht der System-Dienst da mist?
Während des 10 Sekunden sleeps habe ich den System Dienst auch einmal beendet und neu gestartet, trotzdem kam wieder der alte Parameter an. Ich denke also dies ist ein cURL Problem.
Wie kann ich das beheben?
 
Zuletzt bearbeitet:
Zurück