Este es un tema antiguo, pero en mi última prueba en una de mis API, cURL es más rápido y más estable. A veces file_get_contents en una solicitud más grande necesita más de 5 segundos cuando cURL solo necesita de 1.4 a 1.9 segundos, lo que es el doble de rápido.
Necesito agregar una nota sobre esto que solo envío GET y recibo contenido JSON. Si configura cURL correctamente, obtendrá una gran respuesta. Simplemente "diga" a cURL lo que necesita enviar y lo que necesita recibir y listo.
En su examen, me gustaría hacer esta configuración:
$ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
$result = curl_exec($ch);
Esta solicitud devolverá datos en 0.01 segundos como máximo
cURL
es capaz de mucho más quefile_get_contents
. Eso debería bastar.