Curl - Php 获取使用 ajax 更新的元素内容

Posted

技术标签:

【中文标题】Curl - Php 获取使用 ajax 更新的元素内容【英文标题】:Curl - Php get element content that it's updated with ajax 【发布时间】:2021-05-10 04:51:30 【问题描述】:

我有这个代码:

$status_url = $site_properties["status_url"];
        //$listeners_url = $site_properties["listeners_url"];
        //$messages_url = $site_properties["messages_url"];
        
        //$html = file_get_html($status_url);
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $status_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

        $res = curl_exec($ch);

        curl_close($ch);

        $dom = new DomDocument();
        @ $dom->loadHTML($res);
        
        $radio_listeners = $dom->getElementById('listeners_cont');
        echo $radio_listeners->textContent;
    

我想知道如何编写此脚本以等待几秒钟(例如 10 秒),以便 $status_url 页面中的 setInterval ajax 将启动并且所有字段都将正确更新。

一些屏幕截图来解释:

【问题讨论】:

你不能只使用 php 来做到这一点,你有你使用无头浏览器,看看这个***.com/questions/32532279/… 【参考方案1】:

curlPHP 根本不执行 any javascript。您需要PhantomJS 之类的东西 - 或者只是在浏览器的网络选项卡中获取 AJAX 调用并仅实现此调用。

【讨论】:

我找到了合适的网址:caster.fm/radio_cron.php?uid=473724 谢谢! 您可能会觉得这很有帮助:api.caster.fm/docs/api-docs/account

以上是关于Curl - Php 获取使用 ajax 更新的元素内容的主要内容,如果未能解决你的问题,请参考以下文章

如何通过php的curl模拟ajax请求,获取其返回值

在使用codeigniter并从curl获取数据时在ajax中添加href

使用 CURL 从 URL 获取 XML 在 PHP 更新后停止工作

AJAX 与 CURL

PHP 用curl 如何跳转页面

更新订单 WooCommerce API PHP CURL