curl_multi_getcontent

(PHP 5, PHP 7, PHP 8)

curl_multi_getcontentDevuelve el contenido del recurso cURL si CURLOPT_RETURNTRANSFER está activado

Descripción

curl_multi_getcontent(resource $ch): string

Si la opción CURLOPT_RETURNTRANSFER está activada para uno de los recursos, entonces esta función devolverá el contenido del recurso cURL en formato string.

Parámetros

ch

El recurso cURL devuelto por curl_init().

Valores devueltos

Devuelve el contenido de cURL si la opción CURLOPT_RETURNTRANSFER está activada en el recurso cURL.

Ver también

add a note

User Contributed Notes 2 notes

up
23
michael at xendica dot com
11 years ago
This seems to work as expected for me - allowing me to get the content from a curl_multi operation into variables :(Thanks go to many other notes in related documentation (there is much copy/pasting) all I did was add the relevant line(s))<?    $aURLs = array("http://www.php.net","http://www.w3cschools.com"); // array of URLs    $mh = curl_multi_init(); // init the curl Multi        $aCurlHandles = array(); // create an array for the individual curl handles    foreach ($aURLs as $id=>$url) { //add the handles for each url        $ch = curl_setup($url,$socks5_proxy,$usernamepass);        $ch = curl_init(); // init curl, and then setup your options        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // returns the result - very important        curl_setopt($ch, CURLOPT_HEADER, 0); // no headers in the output        $aCurlHandles[$url] = $ch;        curl_multi_add_handle($mh,$ch);    }        $active = null;    //execute the handles    do {        $mrc = curl_multi_exec($mh, $active);    }     while ($mrc == CURLM_CALL_MULTI_PERFORM);    while ($active && $mrc == CURLM_OK) {        if (curl_multi_select($mh) != -1) {            do {                $mrc = curl_multi_exec($mh, $active);            } while ($mrc == CURLM_CALL_MULTI_PERFORM);        }    }    /* This is the relevant bit */        // iterate through the handles and get your content    foreach ($aCurlHandles as $url=>$ch) {        $html = curl_multi_getcontent($ch); // get the content                // do what you want with the HTML        curl_multi_remove_handle($mh, $ch); // remove the handle (assuming  you are done with it);    }/* End of the relevant bit */    curl_multi_close($mh); // close the curl multi handler?>
up
-1
butesa at freenet dot de
11 years ago
You can use curl_multi_getcontent() on a curl handle that was executed with curl_exec() (and not added to a multi handle).However, this is not very useful because curl_multi_getcontent() will return the same as curl_exec() then.<?php $ch = curl_init('http://www.example.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $a = curl_exec($ch); $b = curl_multi_getcontent($ch); var_dump($a === $b); curl_close($ch);?>will return:bool(true)
To Top