PHP / Curl - Döngü ve

0 Cevap php

Ben (yerel olmayan) bir web sayfasına POST ve ardından html dönmek için Curl kullanıyorum.

Ben bu birden çok kez yapmanız gerekir, bu yüzden Curl kod bir süre döngü içinde olduğunu. Burada garip bir şey: o ilk defa beklendiği gibi çalışır, ama sonra orada POST tampon her şey temizlemek için görünmüyor. (I) ($ ch close_curl yapmak. Ve POST geçirilen tüm veriler doğru.)

Örneğin, metin alanlarından biri "ANY" geçiş (ilk kez, ve) olmalıdır. Ama ikinci kez "ANY ANY" geçmektedir.

Am I correct that this problems lies in an uncleared POST buffer? How can I fix it?


ÜZGÜNÜM: İşte kod kısaltılmış versiyonu ...

$someResults = mysql_query($someSQL);

while($record = mysql_fetch_array($alertResults)){
    $url = "http://something.com/searchResults.asp";
    $someV = "Hi";

    $fields = array(
        //date to post.
    );     

    foreach($fields as $key=>$value){ 
        $fields_string .= $key .'='. $value . '&'; 
    }
    rtrim($fields_string,'&');
    $ch = curl_init();
    $userAgent = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';
    curl_setopt($ch,CURLOPT_USERAGENT, $userAgent);
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_POST,count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
    ob_start(); 
    $html = curl_exec($ch);
    curl_close($ch);

    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $xpath = new DOMXPath($dom);
    $resultTable = $xpath->evaluate("/html/body//table"); 

}

Ben bunu ne zaman ve, döngü $ resultTable aracılığıyla ilk kez bu 60 öğeleri vardır. Ama her şey orada (aynı url kullanarak) sonra 0 öğeleri vardır. Ve ben POST tampon temizlenmez ve işler önceki POST veri ontop yayınlanmıştır olsun çünkü eminim.

How can I clear the POST data each time through the loop?

0 Cevap