예제 #1
0
 /**
  * _fetchData - core fetch data function for NagRequest class
  * 
  * @param mixed $url url we are wanting to fetch and return
  *
  * @static
  * @access private
  * @return void
  */
 private static function _fetchData($url)
 {
     $interface = NagMisc::getInterface();
     /* Initialize Curl and Issue Request */
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_USERAGENT, 'Saigon Nagios Data Fetcher/' . VERSION . "/{$interface}");
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
     curl_setopt($ch, CURLOPT_TIMEOUT, 45);
     /* Response or No Response ? */
     $result = curl_exec($ch);
     if (curl_errno($ch)) {
         $result = curl_error($ch);
         curl_close($ch);
     } else {
         curl_close($ch);
     }
     return $result;
 }
예제 #2
0
 private static function singleCurl($host, $type, $url)
 {
     $interface = NagMisc::getInterface();
     $fullUrl = "http://" . $host . $url;
     $type = strtoupper($type);
     /* Initialize Curl and Issue Request */
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: ' . VARNISH_CACHE_HOSTNAME));
     curl_setopt($ch, CURLOPT_NOBODY, true);
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $type);
     curl_setopt($ch, CURLOPT_URL, $fullUrl);
     curl_setopt($ch, CURLOPT_USERAGENT, 'Saigon Cache Invalidator/' . VERSION . "/{$interface}");
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_TIMEOUT, 10);
     /* Response or No Response ? */
     $result = curl_exec($ch);
     if (curl_errno($ch)) {
         $result = curl_error($ch);
         curl_close($ch);
     } else {
         curl_close($ch);
     }
     return true;
 }