How to do keepalive http request with curl? How to do keepalive http request with curl? curl curl

How to do keepalive http request with curl?


I don't know if you really meant "concurrent", but from the description I believe you just want to reuse the connection. If you simply perform two requests to the same server, it should reuse the connection

persistant.c

/* get the first document */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");res = curl_easy_perform(curl);/* get another document from the same server using the same   connection */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/docs/");res = curl_easy_perform(curl);

Here are portions of the output:

* About to connect() to example.com port 80 (#0)*   Trying 192.0.32.10... * connected* Connected to example.com (192.0.32.10) port 80 (#0)[...]* HTTP/1.0 connection set to keep alive!< Connection: Keep-AliveConnection: Keep-Alive[...]* Connection #0 to host example.com left intact* Re-using existing connection! (#0) with host example.com* Connected to example.com (192.0.32.10) port 80 (#0)

EDIT In light of comment

In that case you need the multi interface. The multi interafce says:

Enable multiple simultaneous transfers in the same thread without making it complicated for the application.

For an example, see multi-double.c ("Simply download two HTTP files!").