【问题标题】:cacti graph php curcl issues third party script仙人掌图 php curl 问题第三方脚本
【发布时间】:2015-06-17 00:16:12
【问题描述】:

希望你能帮忙...

我们已经完美地设置和运行了仙人掌,我们想给我们的客户提供仙人掌图,所以我们有一个脚本来做这件事。然而,它未能拉入图表。脚本已设置并与我们的仙人掌对话,但我们没有得到实际图形的显示。

您可以在此处查看问题 - http://noc.dediport.com/cacti/switchporttranslate.php?host4&switchport=Fa0/1&period=daily

那应该是显示一个图表,这是我从脚本创建者那里得到的回复:

下一步是查看 Cacti 方面。 http://noc.dediport.com/cacti/switchporttranslate.php?host4&switchport=Fa0/1&period=daily 表明 PHP 没有被解释,所以源被返回。恐怕我们无法从返回的结果中判断原因,您需要从日志中检查原因。

虽然他们很有帮助,但我仍然没有深入了解这个问题。我确信这是一个简单的错误,但我将不胜感激。

仅供参考 Cacti 在 centos 6.5 上运行

【问题讨论】:

    标签: php curl cacti


    【解决方案1】:

    这是 curl 示例代码,用于在所需的网站/门户网站上为客户端提取仙人掌图注意您需要保留会话并查看身份验证期间使用的任何其他变量,将其设置为成功登录系统

    $username = 'dipen';
        $password = 'yourpassword';
        $postinfo = 'login_username='.$username.'&login_password='.$password;
    
        $url1 = 'https://yourhost/graph.php?action=view&rra_id=all&local_graph_id=5813';
        $url = "https://yourhost/";
    
        //path to save cookie info temporarily 
        $path = base_url()."img/ctemp";
        $cookie = "cookie.txt";  
    
        $postdata = "login_username=".$username."&login_password=".$password."&action=login";
        $ch =curl_init();
        curl_setopt($ch,CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
        curl_setopt($ch,CURLOPT_TIMEOUT, 60);
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 0);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch,CURLOPT_COOKIESESSION, true);
        curl_setopt($ch,CURLOPT_COOKIEJAR, $cookie);
         curl_setopt($ch,CURLOPT_COOKIEFILE, $path);
        curl_setopt ($ch, CURLOPT_REFERER, $url);
        curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
        curl_setopt ($ch, CURLOPT_POST, 1); 
        $result = curl_exec ($ch);
        if (curl_error($ch)) {
            echo curl_error($ch);
        } 
        //var_dump($result);  
    
    
        curl_setopt($ch, CURLOPT_URL, $url1);
        curl_setopt($ch, CURLOPT_POST, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "");
        $answer = curl_exec($ch);
        if (curl_error($ch)) {
            echo curl_error($ch);
        }
    
        if(!empty($corporate_graph_id))
        {
            echo '<img src="https://yourhost/graph_image.php?action=view&local_graph_id=$corporate_graph_id&rra_id=5" />';
    
            echo '<img src="https://yourhost/graph_image.php?action=view&local_graph_id=5813&rra_id=1" />';
    
            echo '<img src="https://yourhost/graph_image.php?action=view&local_graph_id=5813&rra_id=2" />';
    
            echo '<img src="https://yourhost/graph_image.php?action=view&local_graph_id=5813&rra_id=3" />';
    
            echo '<img src="https://yourhost/graph_image.php?action=view&local_graph_id=5813&rra_id=4" />'; 
        }
        curl_close($ch);
    

    【讨论】:

      【解决方案2】:

      我之前的示例中存在一些链接问题,所以我在服务器上下载了图像并从那里显示它是我的代码

           $username = 'dipen';
          $password = 'yourpassword';
      
          $url = "https://graph.yourdomain.com/";
          $cookie = "cookie.txt";  
          $path = "tempcookie";
      
          $postdata = "login_username=".$username."&login_password=".$password."&action=login";
      
          $ch =curl_init();
          curl_setopt($ch,CURLOPT_URL, $url);
          curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
          $agent = $_SERVER["HTTP_USER_AGENT"];
          curl_setopt($ch,CURLOPT_USERAGENT, $agent);
          curl_setopt($ch,CURLOPT_TIMEOUT, 60);
          curl_setopt($ch,CURLOPT_COOKIESESSION, true);
          curl_setopt ($ch,CURLOPT_REFERER, $url);
          curl_setopt ($ch,CURLOPT_POST, 1); 
          curl_setopt ($ch,CURLOPT_POSTFIELDS, $postdata);
          curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1);
          curl_setopt($ch,CURLOPT_COOKIEJAR, $path.'/'.$cookie);
          curl_setopt($ch,CURLOPT_COOKIEFILE, base_url().$path.'/'.$cookie); 
          $result = curl_exec ($ch);
          if (curl_error($ch)) {
              echo curl_error($ch);
          }
      
          if(!empty($corporate_graph_id))
          {
              $corporate_graph_id = $corporate_graph_id[0]['grpah_id'];
      
              $url1 =' https://graph.yourdomain.com/graph_image.php?action=view&local_graph_id='.$corporate_graph_id.'&rra_id=3';
      
              curl_setopt($ch, CURLOPT_URL, $url1);
              curl_setopt($ch, CURLOPT_POST, false);
              curl_setopt($ch, CURLOPT_POSTFIELDS, "");
              curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
              $answer = curl_exec($ch);
              if (curl_error($ch)) {
                  echo curl_error($ch);
              }
      
              $fp = fopen($path.'/'.$corporate_graph_id.'.jpg','w');
              fwrite($fp, $answer);
              fclose($fp);
      
      
              $img_path = base_url().$path.'/'.$corporate_graph_id.'.jpg'; 
      
              echo '<img src="'.$img_path.'" /><br/>';
      
          }
          curl_close($ch);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多