我在PHP寫了一個小腳本發送POST請求的Web服務器:PHP echo語句
<?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");
?>
是的,這是碼頭工人。我正在使用remote API in Docker,這個小小的腳本很有用! 但是,URL末尾的?t = 5會被忽略。 我猜這跟有關?。
如何正確格式化此URL,以使t = 5正常工作?
(我試過1001點的方式,到目前爲止,用引號和雙引號,沒有運氣。花在這4個多小時後,我以爲計算器可以幫助?)
謝謝...
注:「cid」只是硬盤上的一個文件,用於存儲容器ID。所以我從文件中檢索容器ID,並將它傳遞給URL(無論如何,這部分工作)。 完整的網址由我編寫,即未解析。
您試過了嗎? '$ ch = curl_init($ url);'我不確定,但這可能會改變事情。 –
對Docker一無所知,所以這可能不適用於你的情況,但是如果使用mod_rewrite解析URL,則需要在.htaccess中添加選項[QSA]以傳遞get參數 – mikesp
「stop」腳本是否期望't'參數在'GET'或'POST'數據中?把它放在'?'數據中。 – Barmar