使用PHP cURL获取外部SVG对象

用户名

我试图在显示为SVG对象的网页上显示服务器状态。(例如[ http://downdetector.com/status/netflix)。

但是我似乎无法得到它。从错误的请求错误到空对象或空div,我得到了任何东西。但是,我确实成功地使用cURL返回了整个页面,但是当我尝试过滤掉其余内容并仅打印SVG时,我感到很困惑。

我该如何诱骗外部服务器以为我是浏览器,并成功地并且最好是优雅地检索一个有效的SVG对象并将其打印在我的页面上?我对PHP还是很陌生,因此欢迎在代码旁边进行任何解释。

我什至尝试使用简单HTML DOM,但仍然无法获得所需的结果。

这是我当前的代码(可能仍然很混乱):

<?php
    class StatusController { 

    function __construct() {
       //include('assets/simple_html_dom.php');
    }

    public function getStatus() { 
        $ch = curl_init();
                curl_setopt($ch,CURLOPT_URL,"http://downdetector.com/status/netflix");
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
                $output=curl_exec($ch);

                curl_close($ch);
                //print $output;    
                // $html = str_get_html($output);
                // $elem = $html->find('div[id=holder]', 0);
                // print $elem;
                // 
                $dom = new DOMDocument();
                $dom->loadHTML($output); // Returned $data from CURL request

                $xpath = new DOMXPath($dom);
                $elements = $xpath->query('*/div'); // Don't know how to fill in this query to find an ID
                echo('<pre>'.print_r($elements, true).'</pre>');
                var_dump($elements);

            } 

} 
?>

我已经尝试了近三整天的很多选择,但我真的不知道该怎么办。

木糖浆

该URL的问题在于,SVG是通过JavaScript动态加载的:

<p>Netflix offers an on-demand streaming video service through the internet as well as a flat rate DVD by mail service. </p>
          <img id='tracker' style='display: none' />
<script type='text/javascript'>
// <![CDATA[
  url = '//tracker.downdetector.com/count/company/20065.txt?ref=' + encodeURIComponent(document.referrer);
  $('#tracker')[0].src = url;
// ]]>
</script>

script零件将被SVG取代。我不能告诉你,在这种情况下如何获得它。

但是,如果您的网站包含普通的SVG元素,则应该可以通过进行选择$elements = $xpath->query("//*[name()='svg']");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PHP cURL获取外部SVG对象

来自分类Dev

使用PHP从外部URL获取Json对象

来自分类Dev

使用PHP从外部URL获取Json对象

来自分类Dev

使用Curl获取JSON对象

来自分类Dev

在 PHP 中使用 Curl 获取 Json STD 类对象数据

来自分类Dev

如何使用JQuery从外部文件获取对象?

来自分类Dev

检测对外部PHP的调用(curl,文件获取内容...)

来自分类Dev

使用PHP Curl提交表单并获取结果

来自分类Dev

使用cURL在PHP中获取api数据

来自分类Dev

使用PHP curl获取登录内容

来自分类Dev

使用php从curl请求获取国家

来自分类Dev

如何使用cUrl PHP获取指定的行

来自分类Dev

使用PHP cURL获取JSON数据

来自分类Dev

使用php curl获取return json

来自分类Dev

使用PHP从外部XML文件获取数据

来自分类Dev

如何使用php从对象获取数组键值

来自分类Dev

使用php从mssql DateTime对象获取月份

来自分类Dev

使用PHP fopen和/或cURL下载外部文件

来自分类Dev

使用PHP fopen和/或cURL下载外部文件

来自分类Dev

使用PHP登录cURL

来自分类Dev

在PHP中使用Curl

来自分类Dev

使用curl PHP登录

来自分类Dev

使用CURL PHP的FTPS

来自分类Dev

使用外部 php

来自分类Dev

在PHP中获取curl

来自分类Dev

如何使用php和cURL显示JSON对象?

来自分类Dev

PHP cUrl获取网站内容以供离线使用

来自分类Dev

无法使用带有SSL的php CURL获取图像

来自分类Dev

如何使用php curl获取网页并显示该网页html?