curl_getinfo în PHP

cURL și email PHP 4.0.4+

Returnează informații despre ultima cerere cURL: codul HTTP, tipul conținutului, durata, adresa finală.

Sintaxă
curl_getinfo(CurlHandle $handle, ?int $option = null): mixed

Ce face curl_getinfo

După curl_exec, curl_getinfo îți spune cum a decurs cererea. Fără al doilea parametru returnează un tablou cu toate informațiile (url, http_code, content_type, total_time, size_download, redirect_count, primary_ip și multe altele).

Cu o constantă CURLINFO_* primești o singură valoare. Cele mai folosite: CURLINFO_HTTP_CODE (sau CURLINFO_RESPONSE_CODE), CURLINFO_CONTENT_TYPE, CURLINFO_TOTAL_TIME, CURLINFO_EFFECTIVE_URL (adresa finală, după redirecționări).

Parametri

Parametru Descriere
$handle Cererea cURL.
$option Opțional. O constantă CURLINFO_* pentru o singură valoare.

Ce returnează

Un tablou cu toate informațiile, sau valoarea cerută.

Exemple

Exemplul 1: Informațiile principale despre o cerere

<?php
$ch = curl_init("https://www.dexblog.ro/invata/php/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

$info = curl_getinfo($ch);
foreach (["url", "http_code", "content_type", "total_time", "size_download", "redirect_count"] as $cheie) {
    echo $cheie . " => " . var_export($info[$cheie], true) . "\n";
}

Rezultat real (necesită conexiune la internet)

url => 'https://www.dexblog.ro/invata/php/'
http_code => 200
content_type => 'text/html; charset=UTF-8'
total_time => 0.600727
size_download => 581760.0
redirect_count => 0

Exemplul 2: Înainte de trimiterea cererii

Înainte de curl_exec, codul HTTP este 0.

<?php
$ch = curl_init("https://www.dexblog.ro/");

var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE));
echo curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

Rezultat

int(0)
https://www.dexblog.ro/

Greșeli frecvente

  • Citești codul HTTP înainte de curl_exec sau după o eroare de conexiune și primești 0. Verifică întâi rezultatul lui curl_exec.

Comenzi înrudite

  • curl_init / curl_setopt / curl_exec: Pregătește o cerere HTTP către alt server, de exemplu un API. Împreună cu curl_setopt și curl_exec, trimite cererea și primește răspunsul.
  • curl_error / curl_errno: Returnează mesajul ultimei erori cURL (domeniu inexistent, timp expirat, problemă SSL). curl_errno dă codul numeric.
  • curl_multi_info_read: Returnează, pe rând, mesajele despre cererile terminate dintr-un grup cURL: care cerere și dacă a reușit.