当前位置:Gxlcms > PHP教程 > javascript-这个php-curl类怎么用?

javascript-这个php-curl类怎么用?

时间:2021-07-01 10:21:17 帮助过:36人阅读

我在网上找了一个类,但是没有使用示例代码,
请问这个类怎么用?

 $url) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post[$key]);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_NOSIGNAL, true);
        curl_multi_add_handle($queue, $ch);
        $map[(string) $ch] = $url;
    }
    $responses = array();
    do {
        while (($code = curl_multi_exec($queue, $active)) == CURLM_CALL_MULTI_PERFORM) ;
        if ($code != CURLM_OK) { break; }
        while ($done = curl_multi_info_read($queue)) {
            $error = curl_error($done['handle']);
            $results = curl_multi_getcontent($done['handle']);
            $responses[$map[(string) $done['handle']]] = compact('error', 'results');
            curl_multi_remove_handle($queue, $done['handle']);
            curl_close($done['handle']);
        }
        if ($active > 0) {
            curl_multi_select($queue, 0.5);
        }
    } while ($active);
    curl_multi_close($queue);
    return $responses;
}

求大神给个示例代码
我想做多线程post

回复内容:

我在网上找了一个类,但是没有使用示例代码,
请问这个类怎么用?

 $url) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post[$key]);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_NOSIGNAL, true);
        curl_multi_add_handle($queue, $ch);
        $map[(string) $ch] = $url;
    }
    $responses = array();
    do {
        while (($code = curl_multi_exec($queue, $active)) == CURLM_CALL_MULTI_PERFORM) ;
        if ($code != CURLM_OK) { break; }
        while ($done = curl_multi_info_read($queue)) {
            $error = curl_error($done['handle']);
            $results = curl_multi_getcontent($done['handle']);
            $responses[$map[(string) $done['handle']]] = compact('error', 'results');
            curl_multi_remove_handle($queue, $done['handle']);
            curl_close($done['handle']);
        }
        if ($active > 0) {
            curl_multi_select($queue, 0.5);
        }
    } while ($active);
    curl_multi_close($queue);
    return $responses;
}

求大神给个示例代码
我想做多线程post

$urls=['wwww.baidu.com','www.google.com','www.qq.com'];


$post_data=['aa'=>'bb'];
$resp=curl($urls,$post_data);
print_r($resp);

首先 这只是个函数
其次 怎么用代码注释里写的很清楚了,
/
PHP CURL 多线程 GET/POST
Email:szj1006@vip.qq.com/QQ:690204663
curl(array('url?get=data','url'),array('','post_data'));
*/
在用,如果用要类的话
推荐

  1. snoopy 不是通过curl来获取的

  2. [requests for php](http://requests.ryanmccue.info/)

多线程的curl推荐这个https://github.com/ares333/php-curlmulti

多线程curl推荐 https://github.com/actors315/SmartCurl.git

人气教程排行