Php使用url作为root上的变量execute

时间:2017-10-22 12:12:33

标签: php api

假设我有一个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*"); 这可能吗?

1 个答案:

答案 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的好东西之一,没有人知道......太糟糕了..