NULL via CURL senden

Ich brauche mal wieder Hilfe von jemanden der CURL besser kennt. Für die Steuerung der WARP Charger muss ich NULL oder FALSE etc. via PUT an den Charger senden. Ich habe hier schon alles möglich probiert, aber irgendwie geht es nicht.

Ich verwende:

$ch = curl_init();
curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 5000);
curl_setopt($ch, CURLOPT_USERNAME, $UserName);
curl_setopt($ch, CURLOPT_PASSWORD, $Password);
curl_setopt($ch, CURLOPT_POSTFIELDS, "\"\"");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC | CURLAUTH_DIGEST);
$Result = curl_exec($ch);

Das POSTFIELDS kam als Vorschlag von Tinkerforge. Geht aber nicht.

Wenn ich via Command Line folgendes Kommando sende geht es.

curl -w "%{response_code}" -H "Content-Type: application/json" -X PUT -d "{}" http://123.123.123.123/evse/start_charging

ich habe bei den POSTFIELDS schon alles mögliche und unmögliche probiert komme aber nicht weiter. Danke für die Hilfe.

Wenn ich die Curl Zeile hier curl-to-PHP: Convert Curl commands to PHP code reinschreibe, kommt das raus

// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://123.123.123.123/evse/start_charging');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');

curl_setopt($ch, CURLOPT_POSTFIELDS, "{}");

$headers = array();
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

Cool - ich wusste nicht das es sowas gibt. Probiere ich nachher und danke.

@hfichtinger habe das mit dem Code probiert - ging auf anhieb!!! Sehr sehr cool - ich habe da Stunden probiert.

1 „Gefällt mir“