PHP's curl_getinfo() empty on GET request

I am doing a GET request to RIPE's API and not getting the HTTP status code or anything inside curl_getinfo($i).

$i=curl_init();

        curl_setopt_array($i,
            array(
                CURLOPT_URL=>'https://rest.db.ripe.net/search.json?query-string='.$this->storage->ip->current, 
                CURLOPT_HTTPHEADER=>array('Accept: application/json'),
                CURLOPT_RETURNTRANSFER=>true, 
                CURLOPT_ENCODING=>'UTF-8'
            )
        );

Am I doing something wrong?

array(26) {
  ["url"]=>
  string(61) "https://rest.db.ripe.net/search.json?query-string=XX.XXX.XXX.37"
  ["content_type"]=>
  NULL
  ["http_code"]=>
  int(0)
  ["header_size"]=>
  int(0)
  ["request_size"]=>
  int(0)
  ["filetime"]=>
  int(0)
  ["ssl_verify_result"]=>
  int(0)
  ["redirect_count"]=>
  int(0)
  ["total_time"]=>
  float(0)
  ["namelookup_time"]=>
  float(0)
  ["connect_time"]=>
  float(0)
  ["pretransfer_time"]=>
  float(0)
  ["size_upload"]=>
  float(0)
  ["size_download"]=>
  float(0)
  ["speed_download"]=>
  float(0)
  ["speed_upload"]=>
  float(0)
  ["download_content_length"]=>
  float(-1)
  ["upload_content_length"]=>
  float(-1)
  ["starttransfer_time"]=>
  float(0)
  ["redirect_time"]=>
  float(0)
  ["redirect_url"]=>
  string(0) ""
  ["primary_ip"]=>
  string(0) ""
  ["certinfo"]=>
  array(0) {
  }
  ["primary_port"]=>
  int(0)
  ["local_ip"]=>
  string(0) ""
  ["local_port"]=>
  int(0)
}

1 answer

  • answered 2018-09-24 23:54 Rowayda Khayri

    You should use curl_exec() and curl_close() after curl_setopt_array() , add this:

    // grab URL and pass it to the browser
    curl_exec($i);
    
    // close cURL resource, and free up system resources
    curl_close($i);