Exemplo n.º 1
0
 private function _request($method, $timeout, $headers)
 {
     $proxies = array();
     $nproxy = count($this->m_proxies);
     for ($i = 0; $i < count($this->m_urls) && $i < $nproxy; $i++) {
         $proxies[] = $this->m_proxies[$i];
     }
     $urls = array();
     $data = array();
     $this->m_mapUrls = array();
     foreach ($this->m_urls as $k => $v) {
         $urls[] = $v["uri"];
         $data[] = $v["data"];
         $this->m_mapUrls[] = $k;
     }
     $result = array();
     $http = new HttpMultiple();
     $http->setproxy($proxies);
     if (0 == strcmp("POST", $method)) {
         $r = $http->post($urls, $data, array($this, '_on_request'), $result, $timeout, $headers);
     } else {
         $r = $http->get($urls, array($this, '_on_request'), $result, $timeout, $headers);
     }
     // update proxy list(reuse validate proxy)
     $this->m_proxies = array_values($this->m_proxies);
     return $r;
 }
Exemplo n.º 2
0
function __CheckNProxy($proxies, $timeout)
{
    $t0 = gettimeofday(true);
    $urls = array();
    for ($i = 0; $i < count($proxies); $i++) {
        $urls[] = "http://www.pingshu8.com/music/newzj.htm";
    }
    $result = array();
    $http = new HttpMultiple();
    $http->setproxy($proxies);
    $http->get($urls, '__OnCheckProxy', &$result, $timeout);
    $r = array();
    foreach ($result as $j) {
        $r[] = $proxies[$j];
    }
    $t1 = gettimeofday(true);
    echo "time: " . ($t1 - $t0) . "\r\n";
    print_r("result: " . count($r) . "\r\n");
    return $r;
}