假设我有一个api:api.example.com,这段代码实际上获取了api.example.com/Browser/API/ping.php的内容(这是一个简单的ping脚本)。现在我希望能够执行类似api.example.com/ping/ site_to_ping 的操作(请记住,文件夹“ping”不存在,我也没有为每个现有文件夹都有一个文件夹现场)。然后执行以下操作:file_get_contents("api.example.com/Browser/ping?*site_to_ping*");
这可能吗?
答案 0 :(得分:0)
使用file_get_contents
发送HTTP POST请求并不难,实际上:正如您猜测的那样,您必须使用$site_to_ping
参数。
PHP手册中给出了一个示例,在此页面上:HTTP context options (引用):
$postdata = http_build_query(
array(
'var1' => 'some content',
'var2' => 'doh'
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $site_to_ping_name
)
);
$site_to_ping = stream_context_create($opts);
$result = file_get_contents('api.example.com/Browser/ping', false, $site_to_ping);
基本上,您必须创建一个流,使用正确的选项(该页面上有完整列表),并将其用作file_get_contents
的第三个参数 - 没有更多; - )
作为旁注:一般来说,要发送HTTP POST请求,我们倾向于使用curl,它提供了很多选项 - 但是流是PHP的好东西之一,没有人知道......太糟糕了..