Tengo que solicitar una URL que devuelve una solicitud JSON. Estoy usando PHP y CURL para hacer esto. Actualmente, la solicitud y la respuesta tardan entre 3 y 4 segundos.
El siguiente es el código de rizo
$ch = curl_init();
$devnull = fopen('/tmp/curlcookie.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $devnull);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $desturl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$ret = curl_exec($ch);
curl_close($ch);
if ($devnull)
{
fclose($devnull);
}
siguiente es la matriz curl_getinfo
Array
(
[url] => https://xx.xx.xxx.xx/portalsite/tester
[content_type] => application/json
[http_code] => 200
[header_size] => 198
[request_size] => 835
[filetime] => -1
[ssl_verify_result] => 20
[redirect_count] => 0
[total_time] => 2.054561
[namelookup_time] => 6.5E-5
[connect_time] => 0.016048
[pretransfer_time] => 0.123947
[size_upload] => 699
[size_download] => 46735
[speed_download] => 22746
[speed_upload] => 340
[download_content_length] => 0
[upload_content_length] => 0
[starttransfer_time] => 1.743973
[redirect_time] => 0
)
¿Cómo puedo acelerar el tiempo de procesamiento CURL?
Gracias
¿Cuánto tiempo demora si visitas '$ desturl' con tu navegador? Si eso también toma 3-4 segundos, no creo que cURL tenga la culpa. –
En realidad, es bastante rápido si visito la URL explícitamente. Menos de 2 segundos – Jake
También descubrí que el ajuste de CURLOPT_TIMEOUT obliga a cURL a usar ese tiempo, es mejor no establecer esta constante y dejar que cURL curve –