Pregunta

Tengo un sitio que tiene una API simple que se puede usar a través de http. Deseo hacer uso de la API y enviar datos entre 1000 y 1500 veces a la vez. Aquí está su API: http://api.jum.name/

He construido la URL para hacer un envío, pero ahora me pregunto cuál es la mejor manera de realizar estas solicitudes 1000-1500 de API GET. Aquí está la implementación de PHP CURL que estaba pensando:

$add = 'http://www.mysite.com/3rdparty/API/api.php?fn=post&username=test&password=tester&url=http://google.com&category=21&title=story a&content=content text&tags=Season,news';
curl_setopt ($ch, CURLOPT_URL, "$add");
curl_setopt ($ch, CURLOPT_POST, 0);
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'files/cookie.txt');
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
$postdata = curl_exec ($ch);

¿Debo cerrar la conexión CURL cada vez que hago un envío? ¿Puedo volver a escribir lo anterior de una manera mejor que haga que estas entre 1000 y 1500 presentaciones sean más rápidas?

Gracias a todos

¿Fue útil?

Solución

El bucle de PHP, de forma predeterminada, reutiliza una conexión para múltiples llamadas a curl_exec ().

Entonces, en este caso, simplemente usas el control de enrollamiento, obtuviste curl_init y si la URL coincide entre las llamadas a curl_exec (), enviará una "Conexión: keep-alive " Encabezado y reutilizar la conexión.

No cierre la conexión y no configure CURLOPT_FORBID_REUSE

también vea aquí:

HTTP persistente / keepalive con la biblioteca PHP Curl?

Otros consejos

Si tienes acceso a php 5.2+, te recomiendo altamente el curl_multi de php.

Esto le permite procesar varias solicitudes de curvatura en paralelo, lo que en este caso definitivamente sería útil.

Documentación relacionada: http://us3.php.net/manual/ es / ref.curl.php
Un ejemplo de uso: http://www.somacon.com/p537.php

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top