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_execsau după o eroare de conexiune și primești 0. Verifică întâi rezultatul luicurl_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.