Example #1
0
function mainPage(MultiRequest_Request $request, MultiRequest_Handler $handler)
{
    $headers = $request->getResponseHeaders();
    $cookies = $request->getRespopnseCookies();
    $request = new MultiRequest_Request('https://banweb.banner.vt.edu/ssb/prod/twbkwbis.P_GenMenu?name=bmenu.P_MainMnu');
    $request->setCookiesStorage(COOKIE_FILE);
    $headers = array($headers[5], $headers[6], $headers[7]);
    $headers[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
    $headers[] = 'Cache-Control: no-cache';
    $headers[] = 'Connection: Keep-Alive';
    $headers[] = 'Keep-Alive: 300';
    $headers[] = 'Accept-Charset: UTF-8,Windows-1251,ISO-8859-1;q=0.7,*;q=0.7';
    $headers[] = 'Accept-Language: ru,en-us,en;q=0.5';
    $headers[] = 'Pragma:';
    $request->addHeaders($headers);
    $handler->pushRequestToQueue($request);
    $request->onComplete(function (MultiRequest_Request $request, MultiRequest_Handler $handler) {
        try {
            $request->getFailException();
        } catch (Exception $e) {
            exit($e->getMessage());
        }
        // echo '<pre>';
        // var_dump($request->getResponseHeaders());
        // exit;
        //
        echo '<pre>';
        var_dump($request->getContent());
        exit;
    });
}
Example #2
0
 function fetchStock($chunk_size = 500)
 {
     $this->CI->db->truncate('product');
     $num_rows = $this->fetchCount('stock');
     $num_chunks = ceil($num_rows / $chunk_size);
     $mrHandler = new MultiRequest_Handler();
     $mrHandler->setConnectionsLimit(10);
     $mrHandler->onRequestComplete(array($this, 'debugRequestComplete'));
     $mrHandler->onRequestComplete(array($this, 'saveCompleteRequestToFile'));
     for ($i = 0; $i < $num_chunks; $i++) {
         $offset = $i * $chunk_size;
         $sql = "/GetSql?datasource=" . $this->datasource . "&query=" . urlencode("SELECT " . implode(",", $this->stock_columns) . " FROM stock WHERE company=1 AND web_available=0 AND flag_redundant<2 AND (qty_hand-qty_aloc)>2 OFFSET {$offset} LIMIT {$chunk_size}");
         $url = $this->host . $sql;
         //$request = new MultiRequest_Request($this->host . '/GetSql');
         //$request->setCurlOption(CURLOPT_POST, true);
         //$request->setCurlOption(CURLOPT_RETURNTRANSFER, true);
         //$request->setPostVar('datasource', $this->datasource);
         //$request->setPostVar('query', "SELECT " . implode(",", $this->stock_columns) . " FROM stock WHERE web_available=0 AND flag_redundant<2 AND ((qty_hand-qty_aloc)>2) OFFSET $offset LIMIT $chunk_size");
         //$request->setPostVar('query', "SELECT " . implode(",", $this->stock_columns) . " FROM stock OFFSET $offset LIMIT $chunk_size");
         $request = new MultiRequest_Request($url);
         $request->dws_id = $i;
         $mrHandler->pushRequestToQueue($request);
     }
     $mrHandler->start();
 }
Example #3
0
prepareDownloadsDir(DOWNLOADS_DIR);
/***************************************************************
  MULTIREQUEST INIT
 **************************************************************/
$mrHandler = new MultiRequest_Handler();
$mrHandler->setConnectionsLimit(CONNECTIONS_LIMIT);
$mrHandler->onRequestComplete('debugRequestComplete');
$mrHandler->onRequestComplete('saveCompleteRequestToFile');
$headers = array();
$headers[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$headers[] = 'Cache-Control: no-cache';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Keep-Alive: 300';
$headers[] = 'Accept-Charset: UTF-8,Windows-1251,ISO-8859-1;q=0.7,*;q=0.7';
$headers[] = 'Accept-Language: ru,en-us,en;q=0.5';
$headers[] = 'Pragma:';
$mrHandler->requestsDefaults()->addHeaders($headers);
$options = array();
$options[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12';
$mrHandler->requestsDefaults()->addCurlOptions($options);
$urls = array('http://www.hokiespa.vt.edu/');
foreach ($urls as $url) {
    $request = new MultiRequest_Request($url);
    $mrHandler->pushRequestToQueue($request);
    print_r($request);
    exit;
}
$startTime = time();
set_time_limit(300);
$mrHandler->start();
debug('Total time: ' . (time() - $startTime));