我在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