title: Fatal error 'Invalid data received"
body: <p>I'm fiddling with a free API and all is well but occasionally I get the error below.</p>
  
  <pre><code>Fatal error: Uncaught exception 'Exception' with message 'Invalid data received, please make sure connection is working and requested API exists' in /MY SERVER PATH/functions.php:39 Stack trace: #0 /MY SERVER PATH/index.php(5): myFunc('getInfo') #1 {main} thrown in /MY SERVER PATH/functions.php on line 39
  </code></pre>
  
  <p>Im just curious as to why this is happening?</p>
  
  <p>Below are relevant codes for reference.</p>
  
  <p>thanks all for the extra help.</p>
  
  <hr>
  
  <p>SNIPPET FROM FUNCTIONS.PHP</p>
  
  <pre><code>function myFunc($method, array $req = array()) {
      // API settings
      $key = 'MY API KEY'; // your API-key
      $secret = 'MY SECRET'; // your Secret-key
  
      $req['method'] = $method;
      $mt = explode(' ', microtime());
      $req['nonce'] = $mt[1];
  
      // generate the POST data string
      $post_data = http_build_query($req, '', '&amp;');
  
      $sign = hash_hmac("sha512", $post_data, $secret);
  
      // generate the extra headers
      $headers = array(
              'Sign: '.$sign,
              'Key: '.$key,
      );
  
      // our curl handle (initialize if required)
      static $ch = null;
      if (is_null($ch)) {
              $ch = curl_init();
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; PHP client; '.php_uname('s').'; PHP/'.phpversion().')');
      }
      curl_setopt($ch, CURLOPT_URL, 'URL TO THE API');
      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  
      // run the query
      $res = curl_exec($ch);
      if ($res === false) throw new Exception('Could not get reply: '.curl_error($ch));
      $dec = json_decode($res, true);
      if (!$dec) throw new Exception('Invalid data received, please make sure connection is working and requested API exists');
      if (!$dec){
          echo '';
      }else{
      return $dec;
      }
  </code></pre>
  
  <p>}</p>
  
  <p>SNIPPET FROM INDEX.PHP</p>
  
  <pre><code>$result = myFunc("getInfo");
  </code></pre>