Ich bin in der Lage, den folgenden curl Befehl (in der Befehlszeile) erfolgreich auszuführen:Mit PUT-Methode mit PHP cUrl Bibliothek
curl -XPOST --basic -u user:password -H accept:application/json -H Content-type:application/json --data-binary '{ "@queryid" : 1234 }' http://localhost/rest/run?10
Hier ist, was ich bisher zu tun aber es scheint nicht, mit dem REST-Service zu arbeiten, ich bin mit:
$headers = array(
'Accept: application/json',
'Content-Type: application/json',
);
$url = 'http://localhost/rest/run?10';
$query = '{ "@queryid" : 1234 }';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "user:password");
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_POSTFIELDSIZE, strlen($query));
$output = curl_exec($ch);
echo $output;
Was ist der richtige Weg, wenn sie versuchen --data-binary mit einer PUT-Methode zu konvertieren?
Das ist brillant! Ich hatte keine Ahnung von Temp FDs, es half mir, lädt einen Upload mit curl für youtube (lesen Sie die verbleibenden Bytes in Mem und dann wie gewohnt mit Ihrer Methode hochladen) –
Sollte nicht der Modus 'w +' sein? – flm