Ich schrieb einen Mini-Skript in PHP eine POST-Anforderung an den Web-Server zu senden:PHP echo-Anweisung mit URL-Parameter
<?php
$cid = file_get_contents('cid');
function httpPost($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST, true);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
echo httpPost("http://172.17.0.1:2375/containers/$cid/stop?t=5");
?>
Ja, das Docker ist. Ich benutze die remote API in Docker, und dieses kleine Stück Skript funktioniert! Allerdings wird das? T = 5 am Ende der URL ignoriert. Ich denke, es hat mit der zu tun?.
Wie bekomme ich diese URL richtig formatiert, so dass die? T = 5 korrekt funktioniert?
(I 1.001 Weise versucht, so weit, mit Zitaten und doppelten Anführungszeichen, ohne Glück. Nach mehr als 4 Stunden dafür ausgegeben, dachte ich Stackoverflow helfen könnte?)
Dank ...
HINWEIS: Die "CID" ist nur eine Datei auf der Festplatte, die die Container-ID speichert. Also lade ich die Container-ID aus der Datei ab und übergebe sie an die URL (dieser Teil funktioniert sowieso). Die vollständige URL wird von mir geschrieben, d. H. Nicht geparst.
Haben Sie das versucht? '$ ch = curl_init ($ url);' Ich bin mir nicht sicher, aber das könnte die Dinge ändern. –
weiß nichts über Docker, so dass dies in Ihrem Fall nicht funktionieren könnte, aber wenn die URL mit mod_rewrite geparst wird, müssen Sie die Option [QSA] in der .htaccess übergeben, um get Parameter zu erhalten – mikesp
Erwartet das 'stop' Skript das 't' Parameter in' GET' oder 'POST' Daten zu sein? Setzen Sie es nach '?' Setzt es in die 'GET' Daten. – Barmar